natureco-cli 2.23.29 → 2.23.31

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 (111) hide show
  1. package/README.md +94 -11
  2. package/bin/natureco.js +495 -94
  3. package/package.json +1 -1
  4. package/src/commands/acp.js +39 -0
  5. package/src/commands/admin-rpc.js +302 -0
  6. package/src/commands/agent.js +280 -0
  7. package/src/commands/agents.js +114 -30
  8. package/src/commands/approvals.js +214 -0
  9. package/src/commands/backup.js +124 -0
  10. package/src/commands/bonjour.js +167 -0
  11. package/src/commands/browser.js +815 -0
  12. package/src/commands/capability.js +237 -0
  13. package/src/commands/channels.js +422 -267
  14. package/src/commands/chat.js +5 -8
  15. package/src/commands/clawbot.js +19 -0
  16. package/src/commands/clickclack.js +130 -0
  17. package/src/commands/code.js +3 -2
  18. package/src/commands/commitments.js +148 -0
  19. package/src/commands/completion.js +84 -0
  20. package/src/commands/config.js +219 -30
  21. package/src/commands/configure.js +110 -0
  22. package/src/commands/crestodian.js +92 -0
  23. package/src/commands/cron.js +239 -19
  24. package/src/commands/daemon.js +90 -0
  25. package/src/commands/dashboard.js +47 -374
  26. package/src/commands/device-pair.js +248 -0
  27. package/src/commands/devices.js +137 -0
  28. package/src/commands/directory.js +179 -0
  29. package/src/commands/dns.js +196 -0
  30. package/src/commands/docs.js +136 -0
  31. package/src/commands/doctor.js +143 -492
  32. package/src/commands/exec-policy.js +80 -0
  33. package/src/commands/gateway-server.js +1155 -24
  34. package/src/commands/gateway.js +492 -249
  35. package/src/commands/health.js +148 -0
  36. package/src/commands/help.js +24 -25
  37. package/src/commands/hooks.js +141 -87
  38. package/src/commands/imessage.js +128 -14
  39. package/src/commands/infer.js +1474 -0
  40. package/src/commands/irc.js +64 -15
  41. package/src/commands/logs.js +122 -99
  42. package/src/commands/mattermost.js +114 -12
  43. package/src/commands/mcp.js +121 -309
  44. package/src/commands/memory-cmd.js +134 -1
  45. package/src/commands/memory.js +128 -0
  46. package/src/commands/message.js +720 -134
  47. package/src/commands/migrate.js +213 -2
  48. package/src/commands/models.js +39 -1
  49. package/src/commands/node.js +98 -0
  50. package/src/commands/nodes.js +362 -0
  51. package/src/commands/oc-path.js +200 -0
  52. package/src/commands/onboard.js +129 -0
  53. package/src/commands/open-prose.js +67 -0
  54. package/src/commands/pairing.js +108 -107
  55. package/src/commands/path.js +206 -0
  56. package/src/commands/plugins.js +35 -1
  57. package/src/commands/policy.js +176 -0
  58. package/src/commands/proxy.js +306 -0
  59. package/src/commands/qr.js +70 -0
  60. package/src/commands/reset.js +101 -94
  61. package/src/commands/sandbox.js +125 -0
  62. package/src/commands/secrets.js +201 -0
  63. package/src/commands/sessions.js +110 -51
  64. package/src/commands/setup.js +102 -543
  65. package/src/commands/signal.js +447 -18
  66. package/src/commands/skills.js +67 -1
  67. package/src/commands/sms.js +123 -19
  68. package/src/commands/status.js +101 -127
  69. package/src/commands/system.js +53 -0
  70. package/src/commands/tasks.js +208 -100
  71. package/src/commands/terminal.js +139 -0
  72. package/src/commands/thread-ownership.js +157 -0
  73. package/src/commands/transcripts.js +95 -0
  74. package/src/commands/tui.js +41 -0
  75. package/src/commands/uninstall.js +73 -92
  76. package/src/commands/update.js +146 -91
  77. package/src/commands/voice.js +82 -0
  78. package/src/commands/vydra.js +98 -0
  79. package/src/commands/webhooks.js +58 -66
  80. package/src/commands/wiki.js +783 -0
  81. package/src/commands/workboard.js +207 -0
  82. package/src/tools/audio_understanding.js +154 -0
  83. package/src/tools/browser.js +112 -0
  84. package/src/tools/canvas.js +104 -0
  85. package/src/tools/document_extract.js +84 -0
  86. package/src/tools/duckduckgo.js +54 -0
  87. package/src/tools/exa_search.js +66 -0
  88. package/src/tools/firecrawl.js +104 -0
  89. package/src/tools/image_generation.js +99 -0
  90. package/src/tools/llm_task.js +118 -0
  91. package/src/tools/media_understanding.js +128 -0
  92. package/src/tools/music_generation.js +113 -0
  93. package/src/tools/parallel_search.js +77 -0
  94. package/src/tools/phone_control.js +80 -0
  95. package/src/tools/phone_control_enhanced.js +184 -0
  96. package/src/tools/searxng.js +61 -0
  97. package/src/tools/speech_to_text.js +135 -0
  98. package/src/tools/text_to_speech.js +105 -0
  99. package/src/tools/thread_ownership.js +88 -0
  100. package/src/tools/video_generation.js +72 -0
  101. package/src/tools/web_readability.js +104 -0
  102. package/src/utils/agents-md.js +85 -0
  103. package/src/utils/api.js +39 -40
  104. package/src/utils/format.js +144 -0
  105. package/src/utils/headless.js +2 -1
  106. package/src/utils/memory.js +200 -0
  107. package/src/utils/parallel-tools.js +106 -0
  108. package/src/utils/sub-agent.js +148 -0
  109. package/src/utils/token-budget.js +304 -0
  110. package/src/utils/tool-runner.js +7 -5
  111. package/src/utils/web-fetch.js +107 -0
package/bin/natureco.js CHANGED
@@ -19,6 +19,46 @@ const mattermost = require('../src/commands/mattermost');
19
19
  const imessage = require('../src/commands/imessage');
20
20
  const sms = require('../src/commands/sms');
21
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');
60
+ const wiki = require('../src/commands/wiki');
61
+ const browser = require('../src/commands/browser');
22
62
 
23
63
  const program = new Command();
24
64
 
@@ -34,14 +74,22 @@ ${chalk.yellow('🤖 AI & Chat')}
34
74
  ${chalk.cyan('ask')} Tek soru sor
35
75
  ${chalk.cyan('run')} Markdown script çalıştır
36
76
  ${chalk.cyan('bots')} Bot listesi
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)
37
81
 
38
82
  ${chalk.yellow('⚙️ Kurulum & Ayarlar')}
39
- ${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)
40
86
  ${chalk.cyan('login')} API key ile giriş
41
87
  ${chalk.cyan('logout')} Çıkış
42
- ${chalk.cyan('config')} Ayarları yönet
43
- ${chalk.cyan('doctor')} Sistem sağlık kontrolü
44
- ${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)
91
+ ${chalk.cyan('init')} Proje başlatma
92
+ ${chalk.cyan('completion')} Shell completion (bash|zsh|fish)
45
93
 
46
94
  ${chalk.yellow('🔌 Entegrasyonlar')}
47
95
  ${chalk.cyan('telegram')} Telegram bağlantısı
@@ -53,33 +101,79 @@ ${chalk.yellow('🔌 Entegrasyonlar')}
53
101
  ${chalk.cyan('mattermost')} Mattermost bağlantısı
54
102
  ${chalk.cyan('imessage')} iMessage bağlantısı
55
103
  ${chalk.cyan('sms')} SMS (Twilio) bağlantısı
56
- ${chalk.cyan('webhooks')} Webhook yönetimi
57
- ${chalk.cyan('gateway')} WebSocket gateway
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)
58
107
 
59
- ${chalk.yellow('🛠️ Geliştirici Araçları')}
108
+ ${chalk.yellow('💻 Geliştirici Araçları')}
60
109
  ${chalk.cyan('git')} Git entegrasyonu
61
- ${chalk.cyan('skills')} Skill yönetimi
62
- ${chalk.cyan('mcp')} MCP sunucuları
63
- ${chalk.cyan('hooks')} Hook yönetimi
64
- ${chalk.cyan('cron')} Zamanlanmış görevler
65
- ${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)
66
115
  ${chalk.cyan('ultrareview')} Detaylı kod inceleme
67
-
68
- ${chalk.yellow('📊 Yönetim')}
69
- ${chalk.cyan('dashboard')} Web kontrol paneli
70
- ${chalk.cyan('memory')} Hafıza yönetimi
71
- ${chalk.cyan('logs')} Gateway logları
72
- ${chalk.cyan('status')} Sistem durumu
73
- ${chalk.cyan('agents')} Agent yönetimi
74
- ${chalk.cyan('plugins')} Plugin yönetimi
75
- ${chalk.cyan('security')} Güvenlik denetimi
76
- ${chalk.cyan('reset')} Sıfırlama
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)
118
+
119
+ ${chalk.yellow('📊 Yönetim & Sistem')}
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)
128
+ ${chalk.cyan('system')} Sistem durumu/heartbeat/presence (status|heartbeat|presence)
129
+ ${chalk.cyan('health')} Servis sağlık kontrolü (run|list|check)
130
+ ${chalk.cyan('backup')} Yedekleme (create|list|restore|verify)
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)
134
+ ${chalk.cyan('workboard')} Görev/pano yönetimi
135
+
136
+ ${chalk.yellow('🛰️ Ağ & Cihaz')}
137
+ ${chalk.cyan('bonjour')} Ağ keşfi ve servis tarama
138
+ ${chalk.cyan('dns')} Ağ keşfi — DNS (discover|resolve|setup)
139
+ ${chalk.cyan('directory')} Dizin sorgulama (self|peers|search|register|remove)
140
+ ${chalk.cyan('policy')} Workspace uyumluluk politikası
141
+ ${chalk.cyan('voice')} Sesli sohbet yapılandırması
142
+ ${chalk.cyan('clickclack')} Bildirim/beep kanalı
143
+ ${chalk.cyan('admin-rpc')} HTTP admin RPC endpoint
144
+ ${chalk.cyan('oc-path')} nc:// URI path handler
145
+ ${chalk.cyan('thread-ownership')} Slack thread koordinasyonu
146
+ ${chalk.cyan('device-pair')} Cihaz eşleştirme (QR kod)
147
+ ${chalk.cyan('devices')} Cihaz yönetimi (list|pair|unpair|token|regenerate-token|rotate|revoke|clear)
148
+ ${chalk.cyan('qr')} QR kod ile eşleştirme
149
+ ${chalk.cyan('pairing')} Cihaz eşleştirme (list|approve|reject|generate)
150
+
151
+ ${chalk.yellow('🔧 Altyapı')}
152
+ ${chalk.cyan('daemon')} Gateway daemon (status|start|stop|restart)
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)
162
+
163
+ ${chalk.yellow('📦 Medya & İçerik')}
164
+ ${chalk.cyan('open-prose')} Prose skills bundle
165
+ ${chalk.cyan('vydra')} Vydra medya sağlayıcı
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)
77
168
 
78
169
  ${chalk.yellow('Örnekler:')}
79
170
  ${chalk.gray('$ natureco setup')} İlk kurulum
171
+ ${chalk.gray('$ natureco onbord')} Onboarding
80
172
  ${chalk.gray('$ natureco chat')} Sohbet başlat
81
173
  ${chalk.gray('$ natureco code')} Code agent
82
174
  ${chalk.gray('$ natureco doctor')} Sistem kontrolü
175
+ ${chalk.gray('$ natureco agent run "dosya oku"')} One-shot agent
176
+ ${chalk.gray('$ natureco completion bash')} Shell completion
83
177
  `);
84
178
 
85
179
  program
@@ -135,12 +229,12 @@ program
135
229
 
136
230
  program
137
231
  .command('config <action> [key] [value...]')
138
- .description('Manage configuration (get|set|list|backups|restore)')
232
+ .description('Manage configuration (get|set|unset|list|file|schema|validate|backups|restore)')
139
233
  .action((action, key, value) => config([action, key, ...(value || [])]));
140
234
 
141
235
  program
142
236
  .command('skills [action] [params...]')
143
- .description('Manage skills (list|install|remove|update|create)')
237
+ .description('Manage skills (list|install|remove|update|create|search|browse|info|check)')
144
238
  .action((action, params) => {
145
239
  const skillsCmd = require('../src/commands/skills');
146
240
  skillsCmd([action, ...(params || [])]);
@@ -165,17 +259,17 @@ program
165
259
  });
166
260
 
167
261
  program
168
- .command('update')
169
- .description('Check for updates')
170
- .action(() => {
262
+ .command('update [action] [params...]')
263
+ .description('Update management (run|status|wizard)')
264
+ .action((action, params) => {
171
265
  const updateCmd = require('../src/commands/update');
172
- updateCmd();
266
+ updateCmd([action, ...(params || [])]);
173
267
  });
174
268
 
175
269
  program
176
270
  .command('migrate')
177
- .description('Migrate from other CLI tools')
178
- .option('--from <source>', 'Source CLI (openclaw)')
271
+ .description('Migrate from other CLI tools (openclaw, claude-code, hermes)')
272
+ .option('--from <source>', 'Source CLI (openclaw, claude-code, hermes)', 'openclaw')
179
273
  .option('--openclaw-dir <path>', 'OpenClaw directory path (default: ~/.openclaw)')
180
274
  .action((options) => {
181
275
  const migrateCmd = require('../src/commands/migrate');
@@ -197,7 +291,7 @@ program
197
291
  .option('--action <action>', 'Aksiyon: whatsapp veya telegram')
198
292
  .option('--target <target>', 'Hedef numara veya chat ID')
199
293
  .option('--prompt <prompt>', 'AI\'a gönderilecek prompt')
200
- .description('Cron job yönetimi (add|list|remove)')
294
+ .description('Cron job yönetimi (add|list|remove|get|edit|enable|disable|runs|run)')
201
295
  .action((action, options) => {
202
296
  const cronCmd = require('../src/commands/cron');
203
297
  cronCmd(action, options);
@@ -205,33 +299,18 @@ program
205
299
 
206
300
  program
207
301
  .command('hooks [action] [params...]')
208
- .description('Manage hooks (list|create)')
302
+ .description('Manage hooks (list|info|check|enable|disable|install|update)')
209
303
  .action((action, params) => {
210
304
  const hooksCmd = require('../src/commands/hooks');
211
- hooksCmd(action, ...(params || []));
212
- });
213
-
214
- program
215
- .command('sessions [action] [id]')
216
- .description('Oturum yönetimi (list|delete|show)')
217
- .action((action, id) => {
218
- const { listSessions, deleteSession } = require('../src/utils/sessions');
219
- if (!action || action === 'list') {
220
- const sessions = listSessions();
221
- if (!sessions.length) {
222
- console.log('Kayıtlı oturum yok.');
223
- return;
224
- }
225
- sessions.forEach(s => {
226
- console.log(`[${s.id}] ${s.savedAt.slice(0,10)} — ${s.preview || '(boş)'} (${s.messageCount} mesaj)`);
227
- });
228
- } else if (action === 'delete') {
229
- const ok = deleteSession(id);
230
- console.log(ok ? 'Oturum silindi.' : 'Oturum bulunamadı.');
231
- } else {
232
- const sessionsCmd = require('../src/commands/sessions');
233
- sessionsCmd(action, id);
234
- }
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 || [])]);
235
314
  });
236
315
 
237
316
  program
@@ -244,18 +323,23 @@ program
244
323
 
245
324
  program
246
325
  .command('tasks [action] [params...]')
247
- .description('Manage background tasks (list|show|cancel|audit|maintenance|flow|summary)')
326
+ .description('Manage background tasks (list|show|cancel|audit|maintenance|flow|summary|notify)')
248
327
  .action((action, params) => {
249
328
  const tasksCmd = require('../src/commands/tasks');
250
329
  tasksCmd([action, ...(params || [])]);
251
330
  });
252
331
 
253
332
  program
254
- .command('gateway <action>')
255
- .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)')
256
335
  .action((action) => {
257
- const gatewayCmd = require('../src/commands/gateway-server');
258
- 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
+ }
259
343
  });
260
344
 
261
345
  program
@@ -340,28 +424,19 @@ program
340
424
 
341
425
  program
342
426
  .command('webhooks <action>')
343
- .description('Webhook management (connect|disconnect|status|list)')
427
+ .description('Webhook management (list|gmail)')
344
428
  .action((action) => {
345
429
  const webhooksCmd = require('../src/commands/webhooks');
346
- webhooksCmd(action);
430
+ webhooksCmd(process.argv.slice(3));
347
431
  });
348
432
 
349
433
  program
350
- .command('message <action>')
351
- .description('Send messages directly (send)')
352
- .option('--target <target>', 'Target phone number or chat ID')
353
- .option('--message <message>', 'Message to send')
354
- .option('--channel <channel>', 'Channel: whatsapp or telegram (default: whatsapp)')
355
- .action((action, options) => {
356
- if (action === 'send') {
357
- const messageCmd = require('../src/commands/message');
358
- const args = process.argv.slice(3); // Get all args after 'message send'
359
- messageCmd(args);
360
- } else {
361
- console.log(chalk.red('\n❌ Unknown action\n'));
362
- console.log(chalk.gray('Available actions: send\n'));
363
- process.exit(1);
364
- }
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);
365
440
  });
366
441
 
367
442
  program
@@ -384,15 +459,107 @@ program
384
459
 
385
460
  program
386
461
  .command('channels [action] [params...]')
387
- .description('Manage connected channels (list|status|remove|logs)')
462
+ .description('Manage connected channels (list|status|add|remove|logs|login|logout|capabilities|resolve)')
388
463
  .action((action, params) => {
389
464
  const channelsCmd = require('../src/commands/channels');
390
465
  channelsCmd([action, ...(params || [])]);
391
466
  });
392
467
 
468
+ program
469
+ .command('bonjour [action]')
470
+ .description('Network discovery (scan|discover|status) — find NatureCo services on LAN')
471
+ .action((action) => {
472
+ const bonjourCmd = require('../src/commands/bonjour');
473
+ const args = process.argv.slice(3);
474
+ bonjourCmd(args);
475
+ });
476
+
477
+ program
478
+ .command('policy [action]')
479
+ .description('Workspace policy checks (check|set|list|remove)')
480
+ .action((action) => {
481
+ const policyCmd = require('../src/commands/policy');
482
+ const args = process.argv.slice(3);
483
+ policyCmd(args);
484
+ });
485
+
486
+ program
487
+ .command('voice [action]')
488
+ .description('Voice configuration (status|providers|set) — manage TTS voice settings')
489
+ .action((action) => {
490
+ const voiceCmd = require('../src/commands/voice');
491
+ const args = process.argv.slice(3);
492
+ voiceCmd(args);
493
+ });
494
+
495
+ program
496
+ .command('clickclack [action]')
497
+ .description('ClickClack notification channel (status|test|enable|disable|listen|notify)')
498
+ .action((action) => {
499
+ const clickclackCmd = require('../src/commands/clickclack');
500
+ const args = process.argv.slice(3);
501
+ clickclackCmd(args);
502
+ });
503
+
504
+ program
505
+ .command('admin-rpc [action]')
506
+ .description('Admin HTTP RPC server (status|start|stop|call|methods)')
507
+ .action((action) => {
508
+ const args = process.argv.slice(3);
509
+ adminRpc(args);
510
+ });
511
+
512
+ program
513
+ .command('oc-path [action]')
514
+ .description('nc:// URI path handler (resolve|list|cat|ls)')
515
+ .action((action) => {
516
+ const args = process.argv.slice(3);
517
+ ocPath(args);
518
+ });
519
+
520
+ program
521
+ .command('workboard [action]')
522
+ .description('Work board (show|add|move|remove|clear|columns|export|import)')
523
+ .action((action) => {
524
+ const args = process.argv.slice(3);
525
+ workboard(args);
526
+ });
527
+
528
+ program
529
+ .command('thread-ownership [action]')
530
+ .description('Thread ownership (status|list|assign|release|check|agent)')
531
+ .action((action) => {
532
+ const args = process.argv.slice(3);
533
+ threadOwnership(args);
534
+ });
535
+
536
+ program
537
+ .command('device-pair [action]')
538
+ .description('Device pairing (list|request|approve|reject|remove|pairing-code|verify)')
539
+ .action((action) => {
540
+ const args = process.argv.slice(3);
541
+ devicePair(args);
542
+ });
543
+
544
+ program
545
+ .command('open-prose [action]')
546
+ .description('OpenProse skills bundle (list|info)')
547
+ .action((action) => {
548
+ const args = process.argv.slice(3);
549
+ openProse(args);
550
+ });
551
+
552
+ program
553
+ .command('vydra [action]')
554
+ .description('Vydra media provider (status|configure|test)')
555
+ .action((action) => {
556
+ const args = process.argv.slice(3);
557
+ vydra(args);
558
+ });
559
+
393
560
  program
394
561
  .command('models [action] [params...]')
395
- .description('Manage AI models (list|set|scan|aliases|fallbacks)')
562
+ .description('Manage AI models (list|set|scan|aliases|fallbacks|set-image|image-fallbacks)')
396
563
  .allowUnknownOption()
397
564
  .action((action, params) => {
398
565
  const modelsCmd = require('../src/commands/models');
@@ -402,30 +569,26 @@ program
402
569
 
403
570
  program
404
571
  .command('memory [action] [params...]')
405
- .description('Manage memory (status|list|search|show|clear|index)')
572
+ .description('Manage memory (status|list|search|show|clear|index|export|import|semantic|wiki)')
406
573
  .action((action, params) => {
407
574
  const memoryCmd = require('../src/commands/memory-cmd');
408
575
  memoryCmd([action, ...(params || [])]);
409
576
  });
410
577
 
411
578
  program
412
- .command('logs')
413
- .description('View and follow gateway logs')
414
- .option('--follow, -f', 'Follow logs in real-time')
415
- .option('--json', 'JSON output')
416
- .option('--plain', 'Plain text output')
417
- .option('--limit <n>', 'Number of lines to show', '50')
418
- .action(() => {
579
+ .command('logs [action] [params...]')
580
+ .description('View and manage logs (tail|show|search|clear|path)')
581
+ .action((action, params) => {
419
582
  const logsCmd = require('../src/commands/logs');
420
- logsCmd(process.argv.slice(3));
583
+ logsCmd([action, ...(params || [])]);
421
584
  });
422
585
 
423
586
  program
424
- .command('status')
425
- .description('Show overall system status')
426
- .action(() => {
587
+ .command('status [action] [params...]')
588
+ .description('Show system status (run|simple|usage)')
589
+ .action((action, params) => {
427
590
  const statusCmd = require('../src/commands/status');
428
- statusCmd();
591
+ statusCmd([action, ...(params || [])]);
429
592
  });
430
593
 
431
594
  program
@@ -450,7 +613,7 @@ program
450
613
 
451
614
  program
452
615
  .command('agents [action] [params...]')
453
- .description('Manage agents/bots (list|set|info|add)')
616
+ .description('Manage agents/bots (list|set|info|add|bindings|bind|unbind|set-identity)')
454
617
  .action((action, params) => {
455
618
  const agentsCmd = require('../src/commands/agents');
456
619
  agentsCmd([action, ...(params || [])]);
@@ -483,6 +646,244 @@ program
483
646
  uninstallCmd(process.argv.slice(3));
484
647
  });
485
648
 
649
+ // === OpenClaw uyumlu komutlar ===
650
+
651
+ program
652
+ .command('agent <action> [args...]')
653
+ .description('One-shot agent task (run|abort|tail|logs)')
654
+ .action((action, args) => {
655
+ agent([action, ...(args || [])]);
656
+ });
657
+
658
+ program
659
+ .command('approvals <action> [text...]')
660
+ .description('Exec approval policy (list|allow|deny|status)')
661
+ .action((action, text) => {
662
+ approvals([action, ...(text || [])]);
663
+ });
664
+
665
+ program
666
+ .command('backup <action>')
667
+ .description('Backup management (create|list|restore|verify)')
668
+ .action((action) => {
669
+ backup([action]);
670
+ });
671
+
672
+ program
673
+ .command('capability [action]')
674
+ .description('Query agent capabilities (list|infer)')
675
+ .action((action) => {
676
+ const args = process.argv.slice(3);
677
+ capability(args);
678
+ });
679
+
680
+ program
681
+ .command('commitments <action> [text...]')
682
+ .description('Manage action commitments (list|add|check|resolve|summary|pending|done)')
683
+ .action((action, text) => {
684
+ commitments([action, ...(text || [])]);
685
+ });
686
+
687
+ program
688
+ .command('completion <shell>')
689
+ .description('Generate shell completion script (bash|zsh|fish|powershell)')
690
+ .action((shell) => {
691
+ completion(shell);
692
+ });
693
+
694
+ program
695
+ .command('configure')
696
+ .description('Interactive configuration wizard')
697
+ .action(() => {
698
+ configure(process.argv.slice(3));
699
+ });
700
+
701
+ program
702
+ .command('crestodian [action]')
703
+ .description('Crestodian repair assistant (repair|analyze|plan)')
704
+ .action((action) => {
705
+ const args = process.argv.slice(3);
706
+ crestodian(args);
707
+ });
708
+
709
+ program
710
+ .command('daemon <action>')
711
+ .description('Gateway daemon management (status|start|stop|restart)')
712
+ .action((action) => {
713
+ daemon([action, ...process.argv.slice(4)]);
714
+ });
715
+
716
+ program
717
+ .command('devices [action]')
718
+ .description('Device management (list|pair|unpair|token|regenerate-token|rotate|revoke|clear)')
719
+ .action((action) => {
720
+ const args = process.argv.slice(3);
721
+ devices(args);
722
+ });
723
+
724
+ program
725
+ .command('directory <action>')
726
+ .description('Directory query (query|search)')
727
+ .action((action) => {
728
+ const args = process.argv.slice(3);
729
+ directory(args);
730
+ });
731
+
732
+ program
733
+ .command('dns <action>')
734
+ .description('Network DNS discovery (discover|resolve)')
735
+ .action((action) => {
736
+ const args = process.argv.slice(3);
737
+ dns(args);
738
+ });
739
+
740
+ program
741
+ .command('docs [query...]')
742
+ .description('Documentation search')
743
+ .action((query) => {
744
+ docs(query || []);
745
+ });
746
+
747
+ program
748
+ .command('exec-policy [action]')
749
+ .description('Exec policy management (show|preset|set)')
750
+ .action((action) => {
751
+ const args = process.argv.slice(3);
752
+ execPolicy(args);
753
+ });
754
+
755
+ program
756
+ .command('health [action]')
757
+ .description('Service health check')
758
+ .action((action) => {
759
+ const args = process.argv.slice(3);
760
+ health(args);
761
+ });
762
+
763
+ program
764
+ .command('infer [action]')
765
+ .description('Infer capabilities/models/media (models|media|capabilities|model run|auth|image|audio|tts|video|web|embedding)')
766
+ .action((action) => {
767
+ const args = process.argv.slice(3);
768
+ infer(args);
769
+ });
770
+
771
+ program
772
+ .command('node <action>')
773
+ .description('Node host management (run|status|install|uninstall|stop|restart)')
774
+ .action((action) => {
775
+ const args = process.argv.slice(3);
776
+ node(args);
777
+ });
778
+
779
+ program
780
+ .command('nodes [action]')
781
+ .description('Node network management (list|pending|approve|reject|remove|rename|status|describe|invoke|notify|push|canvas|camera|screen|location)')
782
+ .action((action) => {
783
+ const args = process.argv.slice(3);
784
+ nodes(args);
785
+ });
786
+
787
+ program
788
+ .command('onboard')
789
+ .description('Interactive onboarding wizard')
790
+ .action(() => {
791
+ onboard(process.argv.slice(3));
792
+ });
793
+
794
+ program
795
+ .command('proxy [action]')
796
+ .description('Debug proxy server (start|stop|status|run|coverage|sessions|query|blob|purge)')
797
+ .action((action) => {
798
+ const args = process.argv.slice(3);
799
+ proxy(args);
800
+ });
801
+
802
+ program
803
+ .command('qr [action]')
804
+ .description('QR code pairing (show|generate|verify)')
805
+ .action((action) => {
806
+ const args = process.argv.slice(3);
807
+ qr(args);
808
+ });
809
+
810
+ program
811
+ .command('sandbox <action>')
812
+ .description('Sandbox container management (list|create|destroy)')
813
+ .action((action) => {
814
+ sandbox([action]);
815
+ });
816
+
817
+ program
818
+ .command('secrets [action]')
819
+ .description('Secret value management (list|set|get|unset|audit|reload|configure|apply)')
820
+ .action((action) => {
821
+ const args = process.argv.slice(3);
822
+ secrets(args);
823
+ });
824
+
825
+ program
826
+ .command('system <action>')
827
+ .description('System status/heartbeat/presence (status|heartbeat|presence)')
828
+ .action((action) => {
829
+ system([action]);
830
+ });
831
+
832
+ program
833
+ .command('terminal <action> [text...]')
834
+ .description('Terminal session management (exec|connect|disconnect|list)')
835
+ .action((action, text) => {
836
+ terminal([action, ...(text || [])]);
837
+ });
838
+
839
+ program
840
+ .command('transcripts [action]')
841
+ .description('Transcript management (list|show|delete)')
842
+ .action((action) => {
843
+ const args = process.argv.slice(3);
844
+ transcripts(args);
845
+ });
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
+
877
+ // === OpenClaw uyumlu alias komutlar ===
878
+
879
+ program
880
+ .command('acp [file]')
881
+ .description('Alias for code command')
882
+ .action((file) => {
883
+ const codeCmd = require('../src/commands/code');
884
+ codeCmd(file, { dir: process.cwd() });
885
+ });
886
+
486
887
  program
487
888
  .command('help')
488
889
  .description('Show help information')