natureco-cli 2.23.30 → 2.23.32

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 (69) hide show
  1. package/bin/natureco.js +178 -167
  2. package/package.json +1 -1
  3. package/src/commands/acp.js +39 -0
  4. package/src/commands/admin-rpc.js +83 -0
  5. package/src/commands/agent.js +214 -23
  6. package/src/commands/agents.js +114 -30
  7. package/src/commands/approvals.js +172 -11
  8. package/src/commands/ask.js +1 -1
  9. package/src/commands/browser.js +815 -0
  10. package/src/commands/capability.js +195 -22
  11. package/src/commands/channels.js +422 -267
  12. package/src/commands/chat.js +5 -8
  13. package/src/commands/clawbot.js +19 -0
  14. package/src/commands/code.js +3 -2
  15. package/src/commands/commitments.js +125 -9
  16. package/src/commands/completion.js +40 -32
  17. package/src/commands/config.js +228 -30
  18. package/src/commands/configure.js +84 -67
  19. package/src/commands/cron.js +239 -19
  20. package/src/commands/daemon.js +34 -4
  21. package/src/commands/dashboard.js +47 -374
  22. package/src/commands/devices.js +53 -26
  23. package/src/commands/directory.js +146 -14
  24. package/src/commands/dns.js +148 -10
  25. package/src/commands/docs.js +119 -26
  26. package/src/commands/doctor.js +143 -492
  27. package/src/commands/exec-policy.js +57 -48
  28. package/src/commands/gateway.js +492 -249
  29. package/src/commands/health.js +141 -11
  30. package/src/commands/help.js +24 -25
  31. package/src/commands/hooks.js +141 -87
  32. package/src/commands/infer.js +1442 -41
  33. package/src/commands/logs.js +122 -99
  34. package/src/commands/mcp.js +121 -309
  35. package/src/commands/memory.js +128 -0
  36. package/src/commands/message.js +720 -140
  37. package/src/commands/models.js +39 -1
  38. package/src/commands/node.js +77 -77
  39. package/src/commands/nodes.js +278 -22
  40. package/src/commands/onboard.js +115 -56
  41. package/src/commands/pairing.js +108 -107
  42. package/src/commands/path.js +206 -0
  43. package/src/commands/plugins.js +35 -1
  44. package/src/commands/proxy.js +159 -8
  45. package/src/commands/qr.js +55 -13
  46. package/src/commands/reset.js +101 -94
  47. package/src/commands/secrets.js +104 -21
  48. package/src/commands/sessions.js +110 -51
  49. package/src/commands/setup.js +229 -649
  50. package/src/commands/skills.js +67 -1
  51. package/src/commands/status.js +101 -127
  52. package/src/commands/tasks.js +208 -100
  53. package/src/commands/terminal.js +130 -12
  54. package/src/commands/transcripts.js +24 -1
  55. package/src/commands/tui.js +41 -0
  56. package/src/commands/uninstall.js +73 -92
  57. package/src/commands/update.js +146 -91
  58. package/src/commands/web-fetch.js +34 -0
  59. package/src/commands/webhooks.js +58 -66
  60. package/src/commands/wiki.js +783 -0
  61. package/src/utils/agents-md.js +85 -0
  62. package/src/utils/api.js +40 -41
  63. package/src/utils/format.js +144 -0
  64. package/src/utils/headless.js +2 -1
  65. package/src/utils/parallel-tools.js +106 -0
  66. package/src/utils/sub-agent.js +148 -0
  67. package/src/utils/token-budget.js +304 -0
  68. package/src/utils/tool-runner.js +7 -5
  69. package/src/utils/web-fetch.js +107 -0
package/bin/natureco.js CHANGED
@@ -57,6 +57,8 @@ const secrets = require('../src/commands/secrets');
57
57
  const system = require('../src/commands/system');
58
58
  const terminal = require('../src/commands/terminal');
59
59
  const transcripts = require('../src/commands/transcripts');
60
+ const wiki = require('../src/commands/wiki');
61
+ const browser = require('../src/commands/browser');
60
62
 
61
63
  const program = new Command();
62
64
 
@@ -72,20 +74,22 @@ ${chalk.yellow('🤖 AI & Chat')}
72
74
  ${chalk.cyan('ask')} Tek soru sor
73
75
  ${chalk.cyan('run')} Markdown script çalıştır
74
76
  ${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)
77
+ ${chalk.cyan('agent')} One-shot agent (run|abort|tail|logs)
78
+ ${chalk.cyan('agents')} Agent yönetimi (list|set|info|add|bindings|bind|unbind|set-identity)
79
+ ${chalk.cyan('commitments')} Eylem taahhütleri (list|add|check|resolve|summary|pending|done)
80
+ ${chalk.cyan('infer')} Yetenek/algılama (list|inspect|model|image|audio|tts|video|web|embedding|auth)
78
81
 
79
82
  ${chalk.yellow('⚙️ Kurulum & Ayarlar')}
80
- ${chalk.cyan('setup')} İlk kurulum sihirbazı
83
+ ${chalk.cyan('setup')} İlk kurulum (config|workspace|dirs|status)
84
+ ${chalk.cyan('onboard')} Interaktif onboarding (gateway|auth|workspace|channels|skills|health|status)
85
+ ${chalk.cyan('configure')} Interaktif yapılandırma (gateway|auth|channels|plugins|skills)
81
86
  ${chalk.cyan('login')} API key ile giriş
82
87
  ${chalk.cyan('logout')} Çıkış
83
- ${chalk.cyan('config')} Ayarları yönet
84
- ${chalk.cyan('configure')} Interaktif yapılandırma
85
- ${chalk.cyan('doctor')} Sistem sağlık kontrolü
86
- ${chalk.cyan('update')} Güncelleme kontrol
88
+ ${chalk.cyan('config')} Ayarlar (get|set|unset|list|file|schema|validate|backups|restore)
89
+ ${chalk.cyan('doctor')} Sistem teşhis (run|list|check)
90
+ ${chalk.cyan('update')} Güncelleme (run|status|wizard)
87
91
  ${chalk.cyan('init')} Proje başlatma
88
- ${chalk.cyan('completion')} Shell completion (bash|zsh|fish|powershell)
92
+ ${chalk.cyan('completion')} Shell completion (bash|zsh|fish)
89
93
 
90
94
  ${chalk.yellow('🔌 Entegrasyonlar')}
91
95
  ${chalk.cyan('telegram')} Telegram bağlantısı
@@ -97,41 +101,42 @@ ${chalk.yellow('🔌 Entegrasyonlar')}
97
101
  ${chalk.cyan('mattermost')} Mattermost bağlantısı
98
102
  ${chalk.cyan('imessage')} iMessage bağlantısı
99
103
  ${chalk.cyan('sms')} SMS (Twilio) bağlantısı
100
- ${chalk.cyan('webhooks')} Webhook yönetimi
101
- ${chalk.cyan('gateway')} WebSocket gateway
102
- ${chalk.cyan('gateway-server')} Gateway daemon (start|stop|status)
104
+ ${chalk.cyan('channels')} Kanal yönetimi (list|status|add|remove|logs|login|logout|capabilities|resolve)
105
+ ${chalk.cyan('message')} Cross-channel mesaj (send|broadcast|poll|react|read|edit|delete|search|pin|thread|sticker|role|moderation|event|timeout|kick|ban)
106
+ ${chalk.cyan('gateway')} WebSocket gateway (start|stop|status|call|usage-cost|probe|discover|install|uninstall|health|restart|diagnostics|run)
103
107
 
104
108
  ${chalk.yellow('💻 Geliştirici Araçları')}
105
109
  ${chalk.cyan('git')} Git entegrasyonu
106
- ${chalk.cyan('skills')} Skill yönetimi
107
- ${chalk.cyan('mcp')} MCP sunucuları
108
- ${chalk.cyan('hooks')} Hook yönetimi
109
- ${chalk.cyan('cron')} Zamanlanmış görevler
110
- ${chalk.cyan('sessions')} Oturum yönetimi
110
+ ${chalk.cyan('mcp')} MCP sunucuları (serve|list|show|set|unset)
111
+ ${chalk.cyan('skills')} Skill yönetimi (list|install|remove|update|create|search|browse|info|check)
112
+ ${chalk.cyan('hooks')} Hook yönetimi (list|info|check|enable|disable|install|update)
113
+ ${chalk.cyan('cron')} Zamanlanmış görevler (add|list|remove|get|edit|enable|disable|runs|run)
114
+ ${chalk.cyan('sessions')} Oturum yönetimi (list|show|cleanup|prune)
111
115
  ${chalk.cyan('ultrareview')} Detaylı kod inceleme
112
- ${chalk.cyan('transcripts')} Transcript yönetimi (list|show|delete)
116
+ ${chalk.cyan('transcripts')} Transcript yönetimi (list|show|path|delete)
117
+ ${chalk.cyan('wiki')} Wiki vault (status|init|ingest|compile|lint|search|get|apply|doctor|bridge import|obsidian)
113
118
 
114
119
  ${chalk.yellow('📊 Yönetim & Sistem')}
115
- ${chalk.cyan('dashboard')} Web kontrol paneli
116
- ${chalk.cyan('memory')} Hafıza yönetimi
117
- ${chalk.cyan('logs')} Gateway logları
118
- ${chalk.cyan('status')} Sistem durumu
119
- ${chalk.cyan('agents')} Agent yönetimi
120
- ${chalk.cyan('plugins')} Plugin yönetimi
121
- ${chalk.cyan('security')} Güvenlik denetimi
122
- ${chalk.cyan('reset')} Sıfırlama
120
+ ${chalk.cyan('dashboard')} Web kontrol paneli (open|status|url)
121
+ ${chalk.cyan('memory')} Hafıza yönetimi (status|list|search|show|clear|index|export|import|semantic|wiki)
122
+ ${chalk.cyan('logs')} Log yönetimi (tail|show|search|clear|path)
123
+ ${chalk.cyan('status')} Sistem durumu (run|simple|usage)
124
+ ${chalk.cyan('plugins')} Plugin yönetimi (list|install|uninstall|enable|disable|info|update|search|doctor|registry|marketplace)
125
+ ${chalk.cyan('security')} Güvenlik denetimi (audit)
126
+ ${chalk.cyan('reset')} Sıfırlama (config|workspace|all|list)
127
+ ${chalk.cyan('uninstall')} Kaldırma (run|dry-run)
123
128
  ${chalk.cyan('system')} Sistem durumu/heartbeat/presence (status|heartbeat|presence)
124
- ${chalk.cyan('health')} Servis sağlık kontrolü
129
+ ${chalk.cyan('health')} Servis sağlık kontrolü (run|list|check)
125
130
  ${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
131
+ ${chalk.cyan('secrets')} Gizli değerler (list|set|get|unset|audit|reload|configure|apply)
132
+ ${chalk.cyan('approvals')} Onay politikası (add|pending|approve|reject)
133
+ ${chalk.cyan('exec-policy')} Exec politikası (show|preset|set)
129
134
  ${chalk.cyan('workboard')} Görev/pano yönetimi
130
135
 
131
136
  ${chalk.yellow('🛰️ Ağ & Cihaz')}
132
137
  ${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)
138
+ ${chalk.cyan('dns')} Ağ keşfi — DNS (discover|resolve|setup)
139
+ ${chalk.cyan('directory')} Dizin sorgulama (self|peers|search|register|remove)
135
140
  ${chalk.cyan('policy')} Workspace uyumluluk politikası
136
141
  ${chalk.cyan('voice')} Sesli sohbet yapılandırması
137
142
  ${chalk.cyan('clickclack')} Bildirim/beep kanalı
@@ -139,29 +144,31 @@ ${chalk.yellow('🛰️ Ağ & Cihaz')}
139
144
  ${chalk.cyan('oc-path')} nc:// URI path handler
140
145
  ${chalk.cyan('thread-ownership')} Slack thread koordinasyonu
141
146
  ${chalk.cyan('device-pair')} Cihaz eşleştirme (QR kod)
142
- ${chalk.cyan('devices')} Cihaz yönetimi (pair|unpair|list|token)
147
+ ${chalk.cyan('devices')} Cihaz yönetimi (list|pair|unpair|token|regenerate-token|rotate|revoke|clear)
143
148
  ${chalk.cyan('qr')} QR kod ile eşleştirme
144
- ${chalk.cyan('onboard')} Interaktif onboarding sihirbazı
149
+ ${chalk.cyan('pairing')} Cihaz eşleştirme (list|approve|reject|generate)
145
150
 
146
151
  ${chalk.yellow('🔧 Altyapı')}
147
152
  ${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
+ ${chalk.cyan('node')} Node host (run|status|install|uninstall|stop|restart)
154
+ ${chalk.cyan('nodes')} Node network (list|pending|approve|reject|remove|rename|status|describe|invoke|notify|push|canvas|camera|screen|location)
155
+ ${chalk.cyan('proxy')} Debug proxy (start|stop|status|run|coverage|sessions|query|blob|purge)
156
+ ${chalk.cyan('sandbox')} Sandbox container (list|recreate|explain)
157
+ ${chalk.cyan('capability')} Yetenek sorgulama (list|inspect)
158
+ ${chalk.cyan('acp')} ACP endpoint (status|info)
159
+ ${chalk.cyan('tui')} Terminal UI (start|local|status)
160
+ ${chalk.cyan('path')} nc:// URI path yönetimi (resolve|find|set|validate|emit)
161
+ ${chalk.cyan('clawbot')} Legacy clawbot (qr)
153
162
 
154
163
  ${chalk.yellow('📦 Medya & İçerik')}
155
164
  ${chalk.cyan('open-prose')} Prose skills bundle
156
165
  ${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
166
+ ${chalk.cyan('docs')} Dokümantasyon arama
167
+ ${chalk.cyan('browser')} Browser automation (status|start|stop|tabs|open|close|navigate|screenshot|snapshot|click|type|press|resize|hover|drag|select|upload|fill|dialog|wait|evaluate|console|pdf|profiles|focus|reset-profile|create-profile|delete-profile)
162
168
 
163
169
  ${chalk.yellow('Örnekler:')}
164
170
  ${chalk.gray('$ natureco setup')} İlk kurulum
171
+ ${chalk.gray('$ natureco onbord')} Onboarding
165
172
  ${chalk.gray('$ natureco chat')} Sohbet başlat
166
173
  ${chalk.gray('$ natureco code')} Code agent
167
174
  ${chalk.gray('$ natureco doctor')} Sistem kontrolü
@@ -175,11 +182,11 @@ program
175
182
  .action(login);
176
183
 
177
184
  program
178
- .command('setup')
179
- .description('Run initial setup wizard')
180
- .action(async () => {
185
+ .command('setup [action]')
186
+ .description('Run initial setup wizard (wizard|config|workspace|dirs|status)')
187
+ .action(async (action) => {
181
188
  const setup = require('../src/commands/setup');
182
- await setup();
189
+ await setup(action ? [action] : []);
183
190
  });
184
191
 
185
192
  program
@@ -222,12 +229,12 @@ program
222
229
 
223
230
  program
224
231
  .command('config <action> [key] [value...]')
225
- .description('Manage configuration (get|set|list|backups|restore)')
232
+ .description('Manage configuration (get|set|unset|list|file|schema|validate|backups|restore)')
226
233
  .action((action, key, value) => config([action, key, ...(value || [])]));
227
234
 
228
235
  program
229
236
  .command('skills [action] [params...]')
230
- .description('Manage skills (list|install|remove|update|create)')
237
+ .description('Manage skills (list|install|remove|update|create|search|browse|info|check)')
231
238
  .action((action, params) => {
232
239
  const skillsCmd = require('../src/commands/skills');
233
240
  skillsCmd([action, ...(params || [])]);
@@ -252,11 +259,11 @@ program
252
259
  });
253
260
 
254
261
  program
255
- .command('update')
256
- .description('Check for updates')
257
- .action(() => {
262
+ .command('update [action] [params...]')
263
+ .description('Update management (run|status|wizard)')
264
+ .action((action, params) => {
258
265
  const updateCmd = require('../src/commands/update');
259
- updateCmd();
266
+ updateCmd([action, ...(params || [])]);
260
267
  });
261
268
 
262
269
  program
@@ -284,7 +291,7 @@ program
284
291
  .option('--action <action>', 'Aksiyon: whatsapp veya telegram')
285
292
  .option('--target <target>', 'Hedef numara veya chat ID')
286
293
  .option('--prompt <prompt>', 'AI\'a gönderilecek prompt')
287
- .description('Cron job yönetimi (add|list|remove)')
294
+ .description('Cron job yönetimi (add|list|remove|get|edit|enable|disable|runs|run)')
288
295
  .action((action, options) => {
289
296
  const cronCmd = require('../src/commands/cron');
290
297
  cronCmd(action, options);
@@ -292,33 +299,18 @@ program
292
299
 
293
300
  program
294
301
  .command('hooks [action] [params...]')
295
- .description('Manage hooks (list|create)')
302
+ .description('Manage hooks (list|info|check|enable|disable|install|update)')
296
303
  .action((action, params) => {
297
304
  const hooksCmd = require('../src/commands/hooks');
298
- hooksCmd(action, ...(params || []));
299
- });
300
-
301
- program
302
- .command('sessions [action] [id]')
303
- .description('Oturum yönetimi (list|delete|show)')
304
- .action((action, id) => {
305
- const { listSessions, deleteSession } = require('../src/utils/sessions');
306
- if (!action || action === 'list') {
307
- const sessions = listSessions();
308
- if (!sessions.length) {
309
- console.log('Kayıtlı oturum yok.');
310
- return;
311
- }
312
- sessions.forEach(s => {
313
- console.log(`[${s.id}] ${s.savedAt.slice(0,10)} — ${s.preview || '(boş)'} (${s.messageCount} mesaj)`);
314
- });
315
- } else if (action === 'delete') {
316
- const ok = deleteSession(id);
317
- console.log(ok ? 'Oturum silindi.' : 'Oturum bulunamadı.');
318
- } else {
319
- const sessionsCmd = require('../src/commands/sessions');
320
- sessionsCmd(action, id);
321
- }
305
+ hooksCmd([action, ...(params || [])]);
306
+ });
307
+
308
+ program
309
+ .command('sessions [action] [params...]')
310
+ .description('Session management (list|show|cleanup|prune)')
311
+ .action((action, params) => {
312
+ const sessionsCmd = require('../src/commands/sessions');
313
+ sessionsCmd([action, ...(params || [])]);
322
314
  });
323
315
 
324
316
  program
@@ -331,18 +323,23 @@ program
331
323
 
332
324
  program
333
325
  .command('tasks [action] [params...]')
334
- .description('Manage background tasks (list|show|cancel|audit|maintenance|flow|summary)')
326
+ .description('Manage background tasks (list|show|cancel|audit|maintenance|flow|summary|notify)')
335
327
  .action((action, params) => {
336
328
  const tasksCmd = require('../src/commands/tasks');
337
329
  tasksCmd([action, ...(params || [])]);
338
330
  });
339
331
 
340
332
  program
341
- .command('gateway <action>')
342
- .description('WebSocket gateway server (start|stop|status)')
333
+ .command('gateway [action]')
334
+ .description('WebSocket gateway (start|stop|status|call|usage-cost|probe|discover|install|uninstall|health|restart|diagnostics|run)')
343
335
  .action((action) => {
344
- const gatewayCmd = require('../src/commands/gateway-server');
345
- gatewayCmd(action);
336
+ if (action === 'stop' || action === 'status') {
337
+ const gatewayServerCmd = require('../src/commands/gateway-server');
338
+ gatewayServerCmd(action);
339
+ } else {
340
+ const args = process.argv.slice(3);
341
+ gateway(...args);
342
+ }
346
343
  });
347
344
 
348
345
  program
@@ -427,28 +424,19 @@ program
427
424
 
428
425
  program
429
426
  .command('webhooks <action>')
430
- .description('Webhook management (connect|disconnect|status|list)')
427
+ .description('Webhook management (list|gmail)')
431
428
  .action((action) => {
432
429
  const webhooksCmd = require('../src/commands/webhooks');
433
- webhooksCmd(action);
430
+ webhooksCmd(process.argv.slice(3));
434
431
  });
435
432
 
436
433
  program
437
- .command('message <action>')
438
- .description('Send messages directly (send)')
439
- .option('--target <target>', 'Target phone number or chat ID')
440
- .option('--message <message>', 'Message to send')
441
- .option('--channel <channel>', 'Channel: whatsapp or telegram (default: whatsapp)')
442
- .action((action, options) => {
443
- if (action === 'send') {
444
- const messageCmd = require('../src/commands/message');
445
- const args = process.argv.slice(3); // Get all args after 'message send'
446
- messageCmd(args);
447
- } else {
448
- console.log(chalk.red('\n❌ Unknown action\n'));
449
- console.log(chalk.gray('Available actions: send\n'));
450
- process.exit(1);
451
- }
434
+ .command('message [action]')
435
+ .description('Unified cross-channel messaging (send|broadcast|poll|react|reactions|read|edit|delete|search|pin|unpin|pins|permissions|thread|emoji|sticker|role|channel|member|voice|event|timeout|kick|ban|moderation)')
436
+ .action((action) => {
437
+ const messageCmd = require('../src/commands/message');
438
+ const args = process.argv.slice(3);
439
+ messageCmd(args);
452
440
  });
453
441
 
454
442
  program
@@ -471,7 +459,7 @@ program
471
459
 
472
460
  program
473
461
  .command('channels [action] [params...]')
474
- .description('Manage connected channels (list|status|remove|logs)')
462
+ .description('Manage connected channels (list|status|add|remove|logs|login|logout|capabilities|resolve)')
475
463
  .action((action, params) => {
476
464
  const channelsCmd = require('../src/commands/channels');
477
465
  channelsCmd([action, ...(params || [])]);
@@ -571,7 +559,7 @@ program
571
559
 
572
560
  program
573
561
  .command('models [action] [params...]')
574
- .description('Manage AI models (list|set|scan|aliases|fallbacks)')
562
+ .description('Manage AI models (list|set|scan|aliases|fallbacks|set-image|image-fallbacks)')
575
563
  .allowUnknownOption()
576
564
  .action((action, params) => {
577
565
  const modelsCmd = require('../src/commands/models');
@@ -581,30 +569,26 @@ program
581
569
 
582
570
  program
583
571
  .command('memory [action] [params...]')
584
- .description('Manage memory (status|list|search|show|clear|index)')
572
+ .description('Manage memory (status|list|search|show|clear|index|export|import|semantic|wiki)')
585
573
  .action((action, params) => {
586
574
  const memoryCmd = require('../src/commands/memory-cmd');
587
575
  memoryCmd([action, ...(params || [])]);
588
576
  });
589
577
 
590
578
  program
591
- .command('logs')
592
- .description('View and follow gateway logs')
593
- .option('--follow, -f', 'Follow logs in real-time')
594
- .option('--json', 'JSON output')
595
- .option('--plain', 'Plain text output')
596
- .option('--limit <n>', 'Number of lines to show', '50')
597
- .action(() => {
579
+ .command('logs [action] [params...]')
580
+ .description('View and manage logs (tail|show|search|clear|path)')
581
+ .action((action, params) => {
598
582
  const logsCmd = require('../src/commands/logs');
599
- logsCmd(process.argv.slice(3));
583
+ logsCmd([action, ...(params || [])]);
600
584
  });
601
585
 
602
586
  program
603
- .command('status')
604
- .description('Show overall system status')
605
- .action(() => {
587
+ .command('status [action] [params...]')
588
+ .description('Show system status (run|simple|usage)')
589
+ .action((action, params) => {
606
590
  const statusCmd = require('../src/commands/status');
607
- statusCmd();
591
+ statusCmd([action, ...(params || [])]);
608
592
  });
609
593
 
610
594
  program
@@ -629,7 +613,7 @@ program
629
613
 
630
614
  program
631
615
  .command('agents [action] [params...]')
632
- .description('Manage agents/bots (list|set|info|add)')
616
+ .description('Manage agents/bots (list|set|info|add|bindings|bind|unbind|set-identity)')
633
617
  .action((action, params) => {
634
618
  const agentsCmd = require('../src/commands/agents');
635
619
  agentsCmd([action, ...(params || [])]);
@@ -665,27 +649,24 @@ program
665
649
  // === OpenClaw uyumlu komutlar ===
666
650
 
667
651
  program
668
- .command('agent <action>')
652
+ .command('agent <action> [args...]')
669
653
  .description('One-shot agent task (run|abort|tail|logs)')
670
- .action((action) => {
671
- const args = process.argv.slice(3);
672
- agent([action, ...args]);
654
+ .action((action, args) => {
655
+ agent([action, ...(args || [])]);
673
656
  });
674
657
 
675
658
  program
676
- .command('approvals <action>')
659
+ .command('approvals <action> [text...]')
677
660
  .description('Exec approval policy (list|allow|deny|status)')
678
- .action((action) => {
679
- const args = process.argv.slice(3);
680
- approvals([action, ...args]);
661
+ .action((action, text) => {
662
+ approvals([action, ...(text || [])]);
681
663
  });
682
664
 
683
665
  program
684
666
  .command('backup <action>')
685
667
  .description('Backup management (create|list|restore|verify)')
686
668
  .action((action) => {
687
- const args = process.argv.slice(3);
688
- backup([action, ...args]);
669
+ backup([action]);
689
670
  });
690
671
 
691
672
  program
@@ -697,11 +678,10 @@ program
697
678
  });
698
679
 
699
680
  program
700
- .command('commitments <action>')
681
+ .command('commitments <action> [text...]')
701
682
  .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]);
683
+ .action((action, text) => {
684
+ commitments([action, ...(text || [])]);
705
685
  });
706
686
 
707
687
  program
@@ -730,16 +710,13 @@ program
730
710
  .command('daemon <action>')
731
711
  .description('Gateway daemon management (status|start|stop|restart)')
732
712
  .action((action) => {
733
- const args = process.argv.slice(3);
734
- daemon([action, ...args]);
713
+ daemon([action, ...process.argv.slice(4)]);
735
714
  });
736
715
 
737
716
  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) => {
717
+ .command('devices [action]')
718
+ .description('Device management (list|pair|unpair|token|regenerate-token|rotate|revoke|clear)')
719
+ .action((action) => {
743
720
  const args = process.argv.slice(3);
744
721
  devices(args);
745
722
  });
@@ -761,16 +738,15 @@ program
761
738
  });
762
739
 
763
740
  program
764
- .command('docs <action>')
765
- .description('Documentation search (search|open)')
766
- .action((action) => {
767
- const args = process.argv.slice(3);
768
- docs(args);
741
+ .command('docs [query...]')
742
+ .description('Documentation search')
743
+ .action((query) => {
744
+ docs(query || []);
769
745
  });
770
746
 
771
747
  program
772
- .command('exec-policy <action>')
773
- .description('Exec policy management (list|check|set|remove)')
748
+ .command('exec-policy [action]')
749
+ .description('Exec policy management (show|preset|set)')
774
750
  .action((action) => {
775
751
  const args = process.argv.slice(3);
776
752
  execPolicy(args);
@@ -785,27 +761,27 @@ program
785
761
  });
786
762
 
787
763
  program
788
- .command('infer <action>')
789
- .description('Infer capabilities/models/media (models|media|capabilities)')
764
+ .command('infer [action]')
765
+ .description('Infer capabilities/models/media (models|media|capabilities|model run|auth|image|audio|tts|video|web|embedding)')
790
766
  .action((action) => {
791
767
  const args = process.argv.slice(3);
792
- infer([action, ...args]);
768
+ infer(args);
793
769
  });
794
770
 
795
771
  program
796
772
  .command('node <action>')
797
- .description('Node host management (status|start|stop|info)')
773
+ .description('Node host management (run|status|install|uninstall|stop|restart)')
798
774
  .action((action) => {
799
775
  const args = process.argv.slice(3);
800
- node([action, ...args]);
776
+ node(args);
801
777
  });
802
778
 
803
779
  program
804
- .command('nodes <action>')
805
- .description('Node network management (list|pair|approve|reject|remove|rename)')
780
+ .command('nodes [action]')
781
+ .description('Node network management (list|pending|approve|reject|remove|rename|status|describe|invoke|notify|push|canvas|camera|screen|location)')
806
782
  .action((action) => {
807
783
  const args = process.argv.slice(3);
808
- nodes([action, ...args]);
784
+ nodes(args);
809
785
  });
810
786
 
811
787
  program
@@ -816,11 +792,11 @@ program
816
792
  });
817
793
 
818
794
  program
819
- .command('proxy <action>')
820
- .description('Debug proxy server (status|start|stop)')
795
+ .command('proxy [action]')
796
+ .description('Debug proxy server (start|stop|status|run|coverage|sessions|query|blob|purge)')
821
797
  .action((action) => {
822
798
  const args = process.argv.slice(3);
823
- proxy([action, ...args]);
799
+ proxy(args);
824
800
  });
825
801
 
826
802
  program
@@ -835,13 +811,12 @@ program
835
811
  .command('sandbox <action>')
836
812
  .description('Sandbox container management (list|create|destroy)')
837
813
  .action((action) => {
838
- const args = process.argv.slice(3);
839
- sandbox([action, ...args]);
814
+ sandbox([action]);
840
815
  });
841
816
 
842
817
  program
843
818
  .command('secrets [action]')
844
- .description('Secret value management (list|set|get|audit)')
819
+ .description('Secret value management (list|set|get|unset|audit|reload|configure|apply)')
845
820
  .action((action) => {
846
821
  const args = process.argv.slice(3);
847
822
  secrets(args);
@@ -851,16 +826,14 @@ program
851
826
  .command('system <action>')
852
827
  .description('System status/heartbeat/presence (status|heartbeat|presence)')
853
828
  .action((action) => {
854
- const args = process.argv.slice(3);
855
- system([action, ...args]);
829
+ system([action]);
856
830
  });
857
831
 
858
832
  program
859
- .command('terminal <action>')
833
+ .command('terminal <action> [text...]')
860
834
  .description('Terminal session management (exec|connect|disconnect|list)')
861
- .action((action) => {
862
- const args = process.argv.slice(3);
863
- terminal([action, ...args]);
835
+ .action((action, text) => {
836
+ terminal([action, ...(text || [])]);
864
837
  });
865
838
 
866
839
  program
@@ -871,6 +844,36 @@ program
871
844
  transcripts(args);
872
845
  });
873
846
 
847
+ program
848
+ .command('wiki [action] [params...]')
849
+ .description('Wiki/knowledge base (status|init|ingest|compile|lint|search|get|apply|doctor|bridge import|unsafe-local import|obsidian)')
850
+ .action((action, params) => {
851
+ wiki([action, ...(params || [])]);
852
+ });
853
+
854
+ program
855
+ .command('browser [action] [params...]')
856
+ .description('Browser automation (status|start|stop|tabs|open|close|navigate|screenshot|snapshot|click|type|press|resize|hover|drag|select|upload|fill|dialog|wait|evaluate|console|pdf|profiles|focus|reset-profile|create-profile|delete-profile)')
857
+ .action((action, params) => {
858
+ browser([action, ...(params || [])]);
859
+ });
860
+
861
+ program
862
+ .command('path [action] [params...]')
863
+ .description('nc:// URI path management (resolve|find|set|validate|emit)')
864
+ .action((action, params) => {
865
+ const pathCmd = require('../src/commands/path');
866
+ pathCmd([action, ...(params || [])]);
867
+ });
868
+
869
+ program
870
+ .command('clawbot [action] [params...]')
871
+ .description('Legacy clawbot namespace (qr)')
872
+ .action((action, params) => {
873
+ const clawbotCmd = require('../src/commands/clawbot');
874
+ clawbotCmd([action, ...(params || [])]);
875
+ });
876
+
874
877
  // === OpenClaw uyumlu alias komutlar ===
875
878
 
876
879
  program
@@ -881,10 +884,18 @@ program
881
884
  codeCmd(file, { dir: process.cwd() });
882
885
  });
883
886
 
887
+ program
888
+ .command('web-fetch [url]')
889
+ .description('Fetch a URL and convert to markdown')
890
+ .action(async (url) => {
891
+ const webFetch = require('../src/commands/web-fetch');
892
+ await webFetch(url);
893
+ });
894
+
884
895
  program
885
896
  .command('help')
886
897
  .description('Show help information')
887
- .action(help);
898
+ .action(help);
888
899
 
889
900
  // Komut verilmezse gateway göster
890
901
  if (!process.argv.slice(2).length) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "natureco-cli",
3
- "version": "2.23.30",
3
+ "version": "2.23.32",
4
4
  "description": "NatureCo AI Bot Terminal Interface",
5
5
  "bin": {
6
6
  "natureco": "bin/natureco.js"