natureco-cli 2.23.28 → 2.23.30
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/README.md +94 -11
- package/bin/natureco.js +470 -10
- package/package.json +10 -6
- package/src/commands/admin-rpc.js +219 -0
- package/src/commands/agent.js +89 -0
- package/src/commands/approvals.js +53 -0
- package/src/commands/backup.js +124 -0
- package/src/commands/bonjour.js +167 -0
- package/src/commands/capability.js +64 -0
- package/src/commands/channels.js +94 -4
- package/src/commands/chat.js +11 -25
- package/src/commands/clickclack.js +130 -0
- package/src/commands/commitments.js +32 -0
- package/src/commands/completion.js +76 -0
- package/src/commands/config.js +111 -68
- package/src/commands/configure.js +93 -0
- package/src/commands/crestodian.js +92 -0
- package/src/commands/daemon.js +60 -0
- package/src/commands/device-pair.js +248 -0
- package/src/commands/devices.js +110 -0
- package/src/commands/directory.js +47 -0
- package/src/commands/dns.js +58 -0
- package/src/commands/docs.js +43 -0
- package/src/commands/doctor.js +121 -16
- package/src/commands/exec-policy.js +71 -0
- package/src/commands/gateway-server.js +1175 -30
- package/src/commands/gateway.js +11 -20
- package/src/commands/health.js +18 -0
- package/src/commands/help.js +6 -0
- package/src/commands/imessage.js +169 -0
- package/src/commands/infer.js +73 -0
- package/src/commands/irc.js +119 -0
- package/src/commands/mattermost.js +164 -0
- package/src/commands/memory-cmd.js +134 -1
- package/src/commands/message.js +30 -4
- package/src/commands/migrate.js +213 -2
- package/src/commands/models.js +584 -216
- package/src/commands/node.js +98 -0
- package/src/commands/nodes.js +106 -0
- package/src/commands/oc-path.js +200 -0
- package/src/commands/onboard.js +70 -0
- package/src/commands/open-prose.js +67 -0
- package/src/commands/plugins.js +415 -172
- package/src/commands/policy.js +176 -0
- package/src/commands/proxy.js +155 -0
- package/src/commands/qr.js +28 -0
- package/src/commands/sandbox.js +125 -0
- package/src/commands/secrets.js +118 -0
- package/src/commands/security.js +149 -1
- package/src/commands/setup.js +114 -10
- package/src/commands/signal.js +495 -0
- package/src/commands/skills.js +20 -29
- package/src/commands/sms.js +168 -0
- package/src/commands/system.js +53 -0
- package/src/commands/tasks.js +328 -79
- package/src/commands/terminal.js +21 -0
- package/src/commands/thread-ownership.js +157 -0
- package/src/commands/transcripts.js +72 -0
- package/src/commands/voice.js +82 -0
- package/src/commands/vydra.js +98 -0
- package/src/commands/webhooks.js +79 -0
- package/src/commands/whatsapp.js +7 -21
- package/src/commands/workboard.js +207 -0
- package/src/tools/audio_understanding.js +154 -0
- package/src/tools/bash.js +63 -29
- package/src/tools/browser.js +112 -0
- package/src/tools/canvas.js +104 -0
- package/src/tools/document_extract.js +84 -0
- package/src/tools/duckduckgo.js +54 -0
- package/src/tools/exa_search.js +66 -0
- package/src/tools/firecrawl.js +104 -0
- package/src/tools/image_generation.js +99 -0
- package/src/tools/llm_task.js +118 -0
- package/src/tools/media_understanding.js +128 -0
- package/src/tools/music_generation.js +113 -0
- package/src/tools/parallel_search.js +77 -0
- package/src/tools/phone_control.js +80 -0
- package/src/tools/phone_control_enhanced.js +184 -0
- package/src/tools/searxng.js +61 -0
- package/src/tools/speech_to_text.js +135 -0
- package/src/tools/text_to_speech.js +105 -0
- package/src/tools/thread_ownership.js +88 -0
- package/src/tools/video_generation.js +72 -0
- package/src/tools/web_readability.js +104 -0
- package/src/utils/api.js +3 -20
- package/src/utils/approvals.js +297 -0
- package/src/utils/background.js +223 -66
- package/src/utils/baileys.js +21 -0
- package/src/utils/config.js +141 -10
- package/src/utils/errors.js +148 -0
- package/src/utils/inquirer-wrapper.js +1 -2
- package/src/utils/memory.js +200 -0
- package/src/utils/path-utils.js +13 -13
- package/src/utils/plugin-registry.js +238 -0
- package/src/utils/secrets.js +177 -0
- package/src/utils/skills.js +10 -23
package/bin/natureco.js
CHANGED
|
@@ -13,6 +13,50 @@ const init = require('../src/commands/init');
|
|
|
13
13
|
const config = require('../src/commands/config');
|
|
14
14
|
const ask = require('../src/commands/ask');
|
|
15
15
|
const run = require('../src/commands/run');
|
|
16
|
+
const signal = require('../src/commands/signal');
|
|
17
|
+
const irc = require('../src/commands/irc');
|
|
18
|
+
const mattermost = require('../src/commands/mattermost');
|
|
19
|
+
const imessage = require('../src/commands/imessage');
|
|
20
|
+
const sms = require('../src/commands/sms');
|
|
21
|
+
const webhooks = require('../src/commands/webhooks');
|
|
22
|
+
const bonjour = require('../src/commands/bonjour');
|
|
23
|
+
const policy = require('../src/commands/policy');
|
|
24
|
+
const voice = require('../src/commands/voice');
|
|
25
|
+
const clickclack = require('../src/commands/clickclack');
|
|
26
|
+
const adminRpc = require('../src/commands/admin-rpc');
|
|
27
|
+
const ocPath = require('../src/commands/oc-path');
|
|
28
|
+
const workboard = require('../src/commands/workboard');
|
|
29
|
+
const threadOwnership = require('../src/commands/thread-ownership');
|
|
30
|
+
const devicePair = require('../src/commands/device-pair');
|
|
31
|
+
const openProse = require('../src/commands/open-prose');
|
|
32
|
+
const vydra = require('../src/commands/vydra');
|
|
33
|
+
// OpenClaw uyumlu komutlar
|
|
34
|
+
const agent = require('../src/commands/agent');
|
|
35
|
+
const approvals = require('../src/commands/approvals');
|
|
36
|
+
const backup = require('../src/commands/backup');
|
|
37
|
+
const capability = require('../src/commands/capability');
|
|
38
|
+
const commitments = require('../src/commands/commitments');
|
|
39
|
+
const completion = require('../src/commands/completion');
|
|
40
|
+
const configure = require('../src/commands/configure');
|
|
41
|
+
const crestodian = require('../src/commands/crestodian');
|
|
42
|
+
const daemon = require('../src/commands/daemon');
|
|
43
|
+
const devices = require('../src/commands/devices');
|
|
44
|
+
const directory = require('../src/commands/directory');
|
|
45
|
+
const dns = require('../src/commands/dns');
|
|
46
|
+
const docs = require('../src/commands/docs');
|
|
47
|
+
const execPolicy = require('../src/commands/exec-policy');
|
|
48
|
+
const health = require('../src/commands/health');
|
|
49
|
+
const infer = require('../src/commands/infer');
|
|
50
|
+
const node = require('../src/commands/node');
|
|
51
|
+
const nodes = require('../src/commands/nodes');
|
|
52
|
+
const onboard = require('../src/commands/onboard');
|
|
53
|
+
const proxy = require('../src/commands/proxy');
|
|
54
|
+
const qr = require('../src/commands/qr');
|
|
55
|
+
const sandbox = require('../src/commands/sandbox');
|
|
56
|
+
const secrets = require('../src/commands/secrets');
|
|
57
|
+
const system = require('../src/commands/system');
|
|
58
|
+
const terminal = require('../src/commands/terminal');
|
|
59
|
+
const transcripts = require('../src/commands/transcripts');
|
|
16
60
|
|
|
17
61
|
const program = new Command();
|
|
18
62
|
|
|
@@ -28,23 +72,36 @@ ${chalk.yellow('🤖 AI & Chat')}
|
|
|
28
72
|
${chalk.cyan('ask')} Tek soru sor
|
|
29
73
|
${chalk.cyan('run')} Markdown script çalıştır
|
|
30
74
|
${chalk.cyan('bots')} Bot listesi
|
|
75
|
+
${chalk.cyan('agent')} One-shot agent task (run|abort|tail|logs)
|
|
76
|
+
${chalk.cyan('commitments')} Eylem taahhütlerini yönet
|
|
77
|
+
${chalk.cyan('infer')} Yetenek/algılama sorgula (models|media|capabilities)
|
|
31
78
|
|
|
32
79
|
${chalk.yellow('⚙️ Kurulum & Ayarlar')}
|
|
33
80
|
${chalk.cyan('setup')} İlk kurulum sihirbazı
|
|
34
81
|
${chalk.cyan('login')} API key ile giriş
|
|
35
82
|
${chalk.cyan('logout')} Çıkış
|
|
36
83
|
${chalk.cyan('config')} Ayarları yönet
|
|
84
|
+
${chalk.cyan('configure')} Interaktif yapılandırma
|
|
37
85
|
${chalk.cyan('doctor')} Sistem sağlık kontrolü
|
|
38
86
|
${chalk.cyan('update')} Güncelleme kontrol
|
|
87
|
+
${chalk.cyan('init')} Proje başlatma
|
|
88
|
+
${chalk.cyan('completion')} Shell completion (bash|zsh|fish|powershell)
|
|
39
89
|
|
|
40
90
|
${chalk.yellow('🔌 Entegrasyonlar')}
|
|
41
91
|
${chalk.cyan('telegram')} Telegram bağlantısı
|
|
42
92
|
${chalk.cyan('whatsapp')} WhatsApp bağlantısı
|
|
43
93
|
${chalk.cyan('discord')} Discord bağlantısı
|
|
44
94
|
${chalk.cyan('slack')} Slack bağlantısı
|
|
95
|
+
${chalk.cyan('signal')} Signal bağlantısı
|
|
96
|
+
${chalk.cyan('irc')} IRC bağlantısı
|
|
97
|
+
${chalk.cyan('mattermost')} Mattermost bağlantısı
|
|
98
|
+
${chalk.cyan('imessage')} iMessage bağlantısı
|
|
99
|
+
${chalk.cyan('sms')} SMS (Twilio) bağlantısı
|
|
100
|
+
${chalk.cyan('webhooks')} Webhook yönetimi
|
|
45
101
|
${chalk.cyan('gateway')} WebSocket gateway
|
|
102
|
+
${chalk.cyan('gateway-server')} Gateway daemon (start|stop|status)
|
|
46
103
|
|
|
47
|
-
${chalk.yellow('
|
|
104
|
+
${chalk.yellow('💻 Geliştirici Araçları')}
|
|
48
105
|
${chalk.cyan('git')} Git entegrasyonu
|
|
49
106
|
${chalk.cyan('skills')} Skill yönetimi
|
|
50
107
|
${chalk.cyan('mcp')} MCP sunucuları
|
|
@@ -52,8 +109,9 @@ ${chalk.yellow('🛠️ Geliştirici Araçları')}
|
|
|
52
109
|
${chalk.cyan('cron')} Zamanlanmış görevler
|
|
53
110
|
${chalk.cyan('sessions')} Oturum yönetimi
|
|
54
111
|
${chalk.cyan('ultrareview')} Detaylı kod inceleme
|
|
112
|
+
${chalk.cyan('transcripts')} Transcript yönetimi (list|show|delete)
|
|
55
113
|
|
|
56
|
-
${chalk.yellow('📊 Yönetim')}
|
|
114
|
+
${chalk.yellow('📊 Yönetim & Sistem')}
|
|
57
115
|
${chalk.cyan('dashboard')} Web kontrol paneli
|
|
58
116
|
${chalk.cyan('memory')} Hafıza yönetimi
|
|
59
117
|
${chalk.cyan('logs')} Gateway logları
|
|
@@ -62,12 +120,53 @@ ${chalk.yellow('📊 Yönetim')}
|
|
|
62
120
|
${chalk.cyan('plugins')} Plugin yönetimi
|
|
63
121
|
${chalk.cyan('security')} Güvenlik denetimi
|
|
64
122
|
${chalk.cyan('reset')} Sıfırlama
|
|
123
|
+
${chalk.cyan('system')} Sistem durumu/heartbeat/presence (status|heartbeat|presence)
|
|
124
|
+
${chalk.cyan('health')} Servis sağlık kontrolü
|
|
125
|
+
${chalk.cyan('backup')} Yedekleme (create|list|restore|verify)
|
|
126
|
+
${chalk.cyan('secrets')} Gizli değer yönetimi (list|set|get|audit)
|
|
127
|
+
${chalk.cyan('approvals')} Exec onay politikası (list|allow|deny|status)
|
|
128
|
+
${chalk.cyan('exec-policy')} Exec politika yönetimi
|
|
129
|
+
${chalk.cyan('workboard')} Görev/pano yönetimi
|
|
130
|
+
|
|
131
|
+
${chalk.yellow('🛰️ Ağ & Cihaz')}
|
|
132
|
+
${chalk.cyan('bonjour')} Ağ keşfi ve servis tarama
|
|
133
|
+
${chalk.cyan('dns')} Ağ keşfi — DNS (discover|resolve)
|
|
134
|
+
${chalk.cyan('directory')} Dizin sorgulama (query)
|
|
135
|
+
${chalk.cyan('policy')} Workspace uyumluluk politikası
|
|
136
|
+
${chalk.cyan('voice')} Sesli sohbet yapılandırması
|
|
137
|
+
${chalk.cyan('clickclack')} Bildirim/beep kanalı
|
|
138
|
+
${chalk.cyan('admin-rpc')} HTTP admin RPC endpoint
|
|
139
|
+
${chalk.cyan('oc-path')} nc:// URI path handler
|
|
140
|
+
${chalk.cyan('thread-ownership')} Slack thread koordinasyonu
|
|
141
|
+
${chalk.cyan('device-pair')} Cihaz eşleştirme (QR kod)
|
|
142
|
+
${chalk.cyan('devices')} Cihaz yönetimi (pair|unpair|list|token)
|
|
143
|
+
${chalk.cyan('qr')} QR kod ile eşleştirme
|
|
144
|
+
${chalk.cyan('onboard')} Interaktif onboarding sihirbazı
|
|
145
|
+
|
|
146
|
+
${chalk.yellow('🔧 Altyapı')}
|
|
147
|
+
${chalk.cyan('daemon')} Gateway daemon (status|start|stop|restart)
|
|
148
|
+
${chalk.cyan('node')} Node host (status|start|stop|info)
|
|
149
|
+
${chalk.cyan('nodes')} Node network yönetimi (list|pair|approve|reject|remove|rename)
|
|
150
|
+
${chalk.cyan('proxy')} Debug proxy (status|start|stop)
|
|
151
|
+
${chalk.cyan('sandbox')} Sandbox container yönetimi (list|create|destroy)
|
|
152
|
+
${chalk.cyan('capability')} Yetenek sorgulama (list|infer)
|
|
153
|
+
|
|
154
|
+
${chalk.yellow('📦 Medya & İçerik')}
|
|
155
|
+
${chalk.cyan('open-prose')} Prose skills bundle
|
|
156
|
+
${chalk.cyan('vydra')} Vydra medya sağlayıcı
|
|
157
|
+
${chalk.cyan('docs')} Dokümantasyon arama (search|open)
|
|
158
|
+
|
|
159
|
+
${chalk.yellow('🔗 Takma Adlar (OpenClaw uyumlu)')}
|
|
160
|
+
${chalk.cyan('acp')} = code ${chalk.cyan('exec-policy')} = policy
|
|
161
|
+
${chalk.cyan('dns')} = bonjour ${chalk.cyan('devices')} = device-pair
|
|
65
162
|
|
|
66
163
|
${chalk.yellow('Örnekler:')}
|
|
67
164
|
${chalk.gray('$ natureco setup')} İlk kurulum
|
|
68
165
|
${chalk.gray('$ natureco chat')} Sohbet başlat
|
|
69
166
|
${chalk.gray('$ natureco code')} Code agent
|
|
70
167
|
${chalk.gray('$ natureco doctor')} Sistem kontrolü
|
|
168
|
+
${chalk.gray('$ natureco agent run "dosya oku"')} One-shot agent
|
|
169
|
+
${chalk.gray('$ natureco completion bash')} Shell completion
|
|
71
170
|
`);
|
|
72
171
|
|
|
73
172
|
program
|
|
@@ -123,7 +222,7 @@ program
|
|
|
123
222
|
|
|
124
223
|
program
|
|
125
224
|
.command('config <action> [key] [value...]')
|
|
126
|
-
.description('Manage configuration (get|set|list)')
|
|
225
|
+
.description('Manage configuration (get|set|list|backups|restore)')
|
|
127
226
|
.action((action, key, value) => config([action, key, ...(value || [])]));
|
|
128
227
|
|
|
129
228
|
program
|
|
@@ -162,8 +261,8 @@ program
|
|
|
162
261
|
|
|
163
262
|
program
|
|
164
263
|
.command('migrate')
|
|
165
|
-
.description('Migrate from other CLI tools')
|
|
166
|
-
.option('--from <source>', 'Source CLI (openclaw)')
|
|
264
|
+
.description('Migrate from other CLI tools (openclaw, claude-code, hermes)')
|
|
265
|
+
.option('--from <source>', 'Source CLI (openclaw, claude-code, hermes)', 'openclaw')
|
|
167
266
|
.option('--openclaw-dir <path>', 'OpenClaw directory path (default: ~/.openclaw)')
|
|
168
267
|
.action((options) => {
|
|
169
268
|
const migrateCmd = require('../src/commands/migrate');
|
|
@@ -232,10 +331,10 @@ program
|
|
|
232
331
|
|
|
233
332
|
program
|
|
234
333
|
.command('tasks [action] [params...]')
|
|
235
|
-
.description('Manage background tasks (list|show)')
|
|
334
|
+
.description('Manage background tasks (list|show|cancel|audit|maintenance|flow|summary)')
|
|
236
335
|
.action((action, params) => {
|
|
237
336
|
const tasksCmd = require('../src/commands/tasks');
|
|
238
|
-
tasksCmd(action, ...(params || []));
|
|
337
|
+
tasksCmd([action, ...(params || [])]);
|
|
239
338
|
});
|
|
240
339
|
|
|
241
340
|
program
|
|
@@ -286,6 +385,54 @@ program
|
|
|
286
385
|
telegramCmd(action, chatId);
|
|
287
386
|
});
|
|
288
387
|
|
|
388
|
+
program
|
|
389
|
+
.command('signal <action>')
|
|
390
|
+
.description('Signal integration (connect|disconnect|status)')
|
|
391
|
+
.action((action) => {
|
|
392
|
+
const signalCmd = require('../src/commands/signal');
|
|
393
|
+
signalCmd(action);
|
|
394
|
+
});
|
|
395
|
+
|
|
396
|
+
program
|
|
397
|
+
.command('irc <action>')
|
|
398
|
+
.description('IRC integration (connect|disconnect|status)')
|
|
399
|
+
.action((action) => {
|
|
400
|
+
const ircCmd = require('../src/commands/irc');
|
|
401
|
+
ircCmd(action);
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
program
|
|
405
|
+
.command('mattermost <action>')
|
|
406
|
+
.description('Mattermost integration (connect|disconnect|status)')
|
|
407
|
+
.action((action) => {
|
|
408
|
+
const mattermostCmd = require('../src/commands/mattermost');
|
|
409
|
+
mattermostCmd(action);
|
|
410
|
+
});
|
|
411
|
+
|
|
412
|
+
program
|
|
413
|
+
.command('imessage <action>')
|
|
414
|
+
.description('iMessage integration (connect|disconnect|status)')
|
|
415
|
+
.action((action) => {
|
|
416
|
+
const imessageCmd = require('../src/commands/imessage');
|
|
417
|
+
imessageCmd(action);
|
|
418
|
+
});
|
|
419
|
+
|
|
420
|
+
program
|
|
421
|
+
.command('sms <action>')
|
|
422
|
+
.description('SMS/Twilio integration (connect|disconnect|status)')
|
|
423
|
+
.action((action) => {
|
|
424
|
+
const smsCmd = require('../src/commands/sms');
|
|
425
|
+
smsCmd(action);
|
|
426
|
+
});
|
|
427
|
+
|
|
428
|
+
program
|
|
429
|
+
.command('webhooks <action>')
|
|
430
|
+
.description('Webhook management (connect|disconnect|status|list)')
|
|
431
|
+
.action((action) => {
|
|
432
|
+
const webhooksCmd = require('../src/commands/webhooks');
|
|
433
|
+
webhooksCmd(action);
|
|
434
|
+
});
|
|
435
|
+
|
|
289
436
|
program
|
|
290
437
|
.command('message <action>')
|
|
291
438
|
.description('Send messages directly (send)')
|
|
@@ -330,12 +477,106 @@ program
|
|
|
330
477
|
channelsCmd([action, ...(params || [])]);
|
|
331
478
|
});
|
|
332
479
|
|
|
480
|
+
program
|
|
481
|
+
.command('bonjour [action]')
|
|
482
|
+
.description('Network discovery (scan|discover|status) — find NatureCo services on LAN')
|
|
483
|
+
.action((action) => {
|
|
484
|
+
const bonjourCmd = require('../src/commands/bonjour');
|
|
485
|
+
const args = process.argv.slice(3);
|
|
486
|
+
bonjourCmd(args);
|
|
487
|
+
});
|
|
488
|
+
|
|
489
|
+
program
|
|
490
|
+
.command('policy [action]')
|
|
491
|
+
.description('Workspace policy checks (check|set|list|remove)')
|
|
492
|
+
.action((action) => {
|
|
493
|
+
const policyCmd = require('../src/commands/policy');
|
|
494
|
+
const args = process.argv.slice(3);
|
|
495
|
+
policyCmd(args);
|
|
496
|
+
});
|
|
497
|
+
|
|
498
|
+
program
|
|
499
|
+
.command('voice [action]')
|
|
500
|
+
.description('Voice configuration (status|providers|set) — manage TTS voice settings')
|
|
501
|
+
.action((action) => {
|
|
502
|
+
const voiceCmd = require('../src/commands/voice');
|
|
503
|
+
const args = process.argv.slice(3);
|
|
504
|
+
voiceCmd(args);
|
|
505
|
+
});
|
|
506
|
+
|
|
507
|
+
program
|
|
508
|
+
.command('clickclack [action]')
|
|
509
|
+
.description('ClickClack notification channel (status|test|enable|disable|listen|notify)')
|
|
510
|
+
.action((action) => {
|
|
511
|
+
const clickclackCmd = require('../src/commands/clickclack');
|
|
512
|
+
const args = process.argv.slice(3);
|
|
513
|
+
clickclackCmd(args);
|
|
514
|
+
});
|
|
515
|
+
|
|
516
|
+
program
|
|
517
|
+
.command('admin-rpc [action]')
|
|
518
|
+
.description('Admin HTTP RPC server (status|start|stop|call|methods)')
|
|
519
|
+
.action((action) => {
|
|
520
|
+
const args = process.argv.slice(3);
|
|
521
|
+
adminRpc(args);
|
|
522
|
+
});
|
|
523
|
+
|
|
524
|
+
program
|
|
525
|
+
.command('oc-path [action]')
|
|
526
|
+
.description('nc:// URI path handler (resolve|list|cat|ls)')
|
|
527
|
+
.action((action) => {
|
|
528
|
+
const args = process.argv.slice(3);
|
|
529
|
+
ocPath(args);
|
|
530
|
+
});
|
|
531
|
+
|
|
532
|
+
program
|
|
533
|
+
.command('workboard [action]')
|
|
534
|
+
.description('Work board (show|add|move|remove|clear|columns|export|import)')
|
|
535
|
+
.action((action) => {
|
|
536
|
+
const args = process.argv.slice(3);
|
|
537
|
+
workboard(args);
|
|
538
|
+
});
|
|
539
|
+
|
|
540
|
+
program
|
|
541
|
+
.command('thread-ownership [action]')
|
|
542
|
+
.description('Thread ownership (status|list|assign|release|check|agent)')
|
|
543
|
+
.action((action) => {
|
|
544
|
+
const args = process.argv.slice(3);
|
|
545
|
+
threadOwnership(args);
|
|
546
|
+
});
|
|
547
|
+
|
|
548
|
+
program
|
|
549
|
+
.command('device-pair [action]')
|
|
550
|
+
.description('Device pairing (list|request|approve|reject|remove|pairing-code|verify)')
|
|
551
|
+
.action((action) => {
|
|
552
|
+
const args = process.argv.slice(3);
|
|
553
|
+
devicePair(args);
|
|
554
|
+
});
|
|
555
|
+
|
|
556
|
+
program
|
|
557
|
+
.command('open-prose [action]')
|
|
558
|
+
.description('OpenProse skills bundle (list|info)')
|
|
559
|
+
.action((action) => {
|
|
560
|
+
const args = process.argv.slice(3);
|
|
561
|
+
openProse(args);
|
|
562
|
+
});
|
|
563
|
+
|
|
564
|
+
program
|
|
565
|
+
.command('vydra [action]')
|
|
566
|
+
.description('Vydra media provider (status|configure|test)')
|
|
567
|
+
.action((action) => {
|
|
568
|
+
const args = process.argv.slice(3);
|
|
569
|
+
vydra(args);
|
|
570
|
+
});
|
|
571
|
+
|
|
333
572
|
program
|
|
334
573
|
.command('models [action] [params...]')
|
|
335
|
-
.description('Manage AI models (list|set|scan|aliases)')
|
|
574
|
+
.description('Manage AI models (list|set|scan|aliases|fallbacks)')
|
|
575
|
+
.allowUnknownOption()
|
|
336
576
|
.action((action, params) => {
|
|
337
577
|
const modelsCmd = require('../src/commands/models');
|
|
338
|
-
|
|
578
|
+
const allArgs = process.argv.slice(process.argv.indexOf('models') + 1);
|
|
579
|
+
modelsCmd(allArgs);
|
|
339
580
|
});
|
|
340
581
|
|
|
341
582
|
program
|
|
@@ -396,7 +637,7 @@ program
|
|
|
396
637
|
|
|
397
638
|
program
|
|
398
639
|
.command('plugins [action] [params...]')
|
|
399
|
-
.description('Manage plugins (list|install|enable|disable|info|doctor)')
|
|
640
|
+
.description('Manage plugins (list|install|uninstall|enable|disable|info|update|search|doctor|registry)')
|
|
400
641
|
.action((action, params) => {
|
|
401
642
|
const pluginsCmd = require('../src/commands/plugins');
|
|
402
643
|
pluginsCmd([action, ...(params || [])]);
|
|
@@ -421,6 +662,225 @@ program
|
|
|
421
662
|
uninstallCmd(process.argv.slice(3));
|
|
422
663
|
});
|
|
423
664
|
|
|
665
|
+
// === OpenClaw uyumlu komutlar ===
|
|
666
|
+
|
|
667
|
+
program
|
|
668
|
+
.command('agent <action>')
|
|
669
|
+
.description('One-shot agent task (run|abort|tail|logs)')
|
|
670
|
+
.action((action) => {
|
|
671
|
+
const args = process.argv.slice(3);
|
|
672
|
+
agent([action, ...args]);
|
|
673
|
+
});
|
|
674
|
+
|
|
675
|
+
program
|
|
676
|
+
.command('approvals <action>')
|
|
677
|
+
.description('Exec approval policy (list|allow|deny|status)')
|
|
678
|
+
.action((action) => {
|
|
679
|
+
const args = process.argv.slice(3);
|
|
680
|
+
approvals([action, ...args]);
|
|
681
|
+
});
|
|
682
|
+
|
|
683
|
+
program
|
|
684
|
+
.command('backup <action>')
|
|
685
|
+
.description('Backup management (create|list|restore|verify)')
|
|
686
|
+
.action((action) => {
|
|
687
|
+
const args = process.argv.slice(3);
|
|
688
|
+
backup([action, ...args]);
|
|
689
|
+
});
|
|
690
|
+
|
|
691
|
+
program
|
|
692
|
+
.command('capability [action]')
|
|
693
|
+
.description('Query agent capabilities (list|infer)')
|
|
694
|
+
.action((action) => {
|
|
695
|
+
const args = process.argv.slice(3);
|
|
696
|
+
capability(args);
|
|
697
|
+
});
|
|
698
|
+
|
|
699
|
+
program
|
|
700
|
+
.command('commitments <action>')
|
|
701
|
+
.description('Manage action commitments (list|add|check|resolve|summary|pending|done)')
|
|
702
|
+
.action((action) => {
|
|
703
|
+
const args = process.argv.slice(3);
|
|
704
|
+
commitments([action, ...args]);
|
|
705
|
+
});
|
|
706
|
+
|
|
707
|
+
program
|
|
708
|
+
.command('completion <shell>')
|
|
709
|
+
.description('Generate shell completion script (bash|zsh|fish|powershell)')
|
|
710
|
+
.action((shell) => {
|
|
711
|
+
completion(shell);
|
|
712
|
+
});
|
|
713
|
+
|
|
714
|
+
program
|
|
715
|
+
.command('configure')
|
|
716
|
+
.description('Interactive configuration wizard')
|
|
717
|
+
.action(() => {
|
|
718
|
+
configure(process.argv.slice(3));
|
|
719
|
+
});
|
|
720
|
+
|
|
721
|
+
program
|
|
722
|
+
.command('crestodian [action]')
|
|
723
|
+
.description('Crestodian repair assistant (repair|analyze|plan)')
|
|
724
|
+
.action((action) => {
|
|
725
|
+
const args = process.argv.slice(3);
|
|
726
|
+
crestodian(args);
|
|
727
|
+
});
|
|
728
|
+
|
|
729
|
+
program
|
|
730
|
+
.command('daemon <action>')
|
|
731
|
+
.description('Gateway daemon management (status|start|stop|restart)')
|
|
732
|
+
.action((action) => {
|
|
733
|
+
const args = process.argv.slice(3);
|
|
734
|
+
daemon([action, ...args]);
|
|
735
|
+
});
|
|
736
|
+
|
|
737
|
+
program
|
|
738
|
+
.command('devices <action>')
|
|
739
|
+
.description('Device management (pair|unpair|list|token)')
|
|
740
|
+
.option('--id <id>', 'Device ID')
|
|
741
|
+
.option('--name <name>', 'Device name')
|
|
742
|
+
.action((action, options) => {
|
|
743
|
+
const args = process.argv.slice(3);
|
|
744
|
+
devices(args);
|
|
745
|
+
});
|
|
746
|
+
|
|
747
|
+
program
|
|
748
|
+
.command('directory <action>')
|
|
749
|
+
.description('Directory query (query|search)')
|
|
750
|
+
.action((action) => {
|
|
751
|
+
const args = process.argv.slice(3);
|
|
752
|
+
directory(args);
|
|
753
|
+
});
|
|
754
|
+
|
|
755
|
+
program
|
|
756
|
+
.command('dns <action>')
|
|
757
|
+
.description('Network DNS discovery (discover|resolve)')
|
|
758
|
+
.action((action) => {
|
|
759
|
+
const args = process.argv.slice(3);
|
|
760
|
+
dns(args);
|
|
761
|
+
});
|
|
762
|
+
|
|
763
|
+
program
|
|
764
|
+
.command('docs <action>')
|
|
765
|
+
.description('Documentation search (search|open)')
|
|
766
|
+
.action((action) => {
|
|
767
|
+
const args = process.argv.slice(3);
|
|
768
|
+
docs(args);
|
|
769
|
+
});
|
|
770
|
+
|
|
771
|
+
program
|
|
772
|
+
.command('exec-policy <action>')
|
|
773
|
+
.description('Exec policy management (list|check|set|remove)')
|
|
774
|
+
.action((action) => {
|
|
775
|
+
const args = process.argv.slice(3);
|
|
776
|
+
execPolicy(args);
|
|
777
|
+
});
|
|
778
|
+
|
|
779
|
+
program
|
|
780
|
+
.command('health [action]')
|
|
781
|
+
.description('Service health check')
|
|
782
|
+
.action((action) => {
|
|
783
|
+
const args = process.argv.slice(3);
|
|
784
|
+
health(args);
|
|
785
|
+
});
|
|
786
|
+
|
|
787
|
+
program
|
|
788
|
+
.command('infer <action>')
|
|
789
|
+
.description('Infer capabilities/models/media (models|media|capabilities)')
|
|
790
|
+
.action((action) => {
|
|
791
|
+
const args = process.argv.slice(3);
|
|
792
|
+
infer([action, ...args]);
|
|
793
|
+
});
|
|
794
|
+
|
|
795
|
+
program
|
|
796
|
+
.command('node <action>')
|
|
797
|
+
.description('Node host management (status|start|stop|info)')
|
|
798
|
+
.action((action) => {
|
|
799
|
+
const args = process.argv.slice(3);
|
|
800
|
+
node([action, ...args]);
|
|
801
|
+
});
|
|
802
|
+
|
|
803
|
+
program
|
|
804
|
+
.command('nodes <action>')
|
|
805
|
+
.description('Node network management (list|pair|approve|reject|remove|rename)')
|
|
806
|
+
.action((action) => {
|
|
807
|
+
const args = process.argv.slice(3);
|
|
808
|
+
nodes([action, ...args]);
|
|
809
|
+
});
|
|
810
|
+
|
|
811
|
+
program
|
|
812
|
+
.command('onboard')
|
|
813
|
+
.description('Interactive onboarding wizard')
|
|
814
|
+
.action(() => {
|
|
815
|
+
onboard(process.argv.slice(3));
|
|
816
|
+
});
|
|
817
|
+
|
|
818
|
+
program
|
|
819
|
+
.command('proxy <action>')
|
|
820
|
+
.description('Debug proxy server (status|start|stop)')
|
|
821
|
+
.action((action) => {
|
|
822
|
+
const args = process.argv.slice(3);
|
|
823
|
+
proxy([action, ...args]);
|
|
824
|
+
});
|
|
825
|
+
|
|
826
|
+
program
|
|
827
|
+
.command('qr [action]')
|
|
828
|
+
.description('QR code pairing (show|generate|verify)')
|
|
829
|
+
.action((action) => {
|
|
830
|
+
const args = process.argv.slice(3);
|
|
831
|
+
qr(args);
|
|
832
|
+
});
|
|
833
|
+
|
|
834
|
+
program
|
|
835
|
+
.command('sandbox <action>')
|
|
836
|
+
.description('Sandbox container management (list|create|destroy)')
|
|
837
|
+
.action((action) => {
|
|
838
|
+
const args = process.argv.slice(3);
|
|
839
|
+
sandbox([action, ...args]);
|
|
840
|
+
});
|
|
841
|
+
|
|
842
|
+
program
|
|
843
|
+
.command('secrets [action]')
|
|
844
|
+
.description('Secret value management (list|set|get|audit)')
|
|
845
|
+
.action((action) => {
|
|
846
|
+
const args = process.argv.slice(3);
|
|
847
|
+
secrets(args);
|
|
848
|
+
});
|
|
849
|
+
|
|
850
|
+
program
|
|
851
|
+
.command('system <action>')
|
|
852
|
+
.description('System status/heartbeat/presence (status|heartbeat|presence)')
|
|
853
|
+
.action((action) => {
|
|
854
|
+
const args = process.argv.slice(3);
|
|
855
|
+
system([action, ...args]);
|
|
856
|
+
});
|
|
857
|
+
|
|
858
|
+
program
|
|
859
|
+
.command('terminal <action>')
|
|
860
|
+
.description('Terminal session management (exec|connect|disconnect|list)')
|
|
861
|
+
.action((action) => {
|
|
862
|
+
const args = process.argv.slice(3);
|
|
863
|
+
terminal([action, ...args]);
|
|
864
|
+
});
|
|
865
|
+
|
|
866
|
+
program
|
|
867
|
+
.command('transcripts [action]')
|
|
868
|
+
.description('Transcript management (list|show|delete)')
|
|
869
|
+
.action((action) => {
|
|
870
|
+
const args = process.argv.slice(3);
|
|
871
|
+
transcripts(args);
|
|
872
|
+
});
|
|
873
|
+
|
|
874
|
+
// === OpenClaw uyumlu alias komutlar ===
|
|
875
|
+
|
|
876
|
+
program
|
|
877
|
+
.command('acp [file]')
|
|
878
|
+
.description('Alias for code command')
|
|
879
|
+
.action((file) => {
|
|
880
|
+
const codeCmd = require('../src/commands/code');
|
|
881
|
+
codeCmd(file, { dir: process.cwd() });
|
|
882
|
+
});
|
|
883
|
+
|
|
424
884
|
program
|
|
425
885
|
.command('help')
|
|
426
886
|
.description('Show help information')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "natureco-cli",
|
|
3
|
-
"version": "2.23.
|
|
3
|
+
"version": "2.23.30",
|
|
4
4
|
"description": "NatureCo AI Bot Terminal Interface",
|
|
5
5
|
"bin": {
|
|
6
6
|
"natureco": "bin/natureco.js"
|
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
"skills/"
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
|
-
"test": "node bin/natureco.js help"
|
|
14
|
+
"test": "node bin/natureco.js help",
|
|
15
|
+
"test:unit": "vitest run",
|
|
16
|
+
"test:watch": "vitest watch",
|
|
17
|
+
"test:coverage": "vitest run --coverage"
|
|
15
18
|
},
|
|
16
19
|
"keywords": [
|
|
17
20
|
"natureco",
|
|
@@ -27,17 +30,18 @@
|
|
|
27
30
|
"@whiskeysockets/baileys": "^7.0.0-rc10",
|
|
28
31
|
"chalk": "^4.1.2",
|
|
29
32
|
"commander": "^11.1.0",
|
|
30
|
-
"
|
|
33
|
+
"json5": "^2.2.3",
|
|
31
34
|
"node-cron": "^4.2.1",
|
|
32
35
|
"node-telegram-bot-api": "^0.67.0",
|
|
33
|
-
"ora": "^9.4.0",
|
|
34
36
|
"pino": "^8.21.0",
|
|
35
37
|
"qrcode-terminal": "^0.12.0",
|
|
36
38
|
"semver": "^7.8.1",
|
|
37
39
|
"ws": "^8.20.0"
|
|
38
40
|
},
|
|
39
41
|
"engines": {
|
|
40
|
-
"node": ">=
|
|
42
|
+
"node": ">=18.0.0"
|
|
41
43
|
},
|
|
42
|
-
"
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"vitest": "^4.1.9"
|
|
46
|
+
}
|
|
43
47
|
}
|