claude-flow 3.5.80 → 3.5.81

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow",
3
- "version": "3.5.80",
3
+ "version": "3.5.81",
4
4
  "description": "Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -9,7 +9,11 @@ import * as fs from 'fs';
9
9
  import * as path from 'path';
10
10
  // Format date for display
11
11
  function formatDate(dateStr) {
12
+ if (!dateStr)
13
+ return '-';
12
14
  const date = new Date(dateStr);
15
+ if (isNaN(date.getTime()))
16
+ return '-';
13
17
  const now = new Date();
14
18
  const diff = now.getTime() - date.getTime();
15
19
  // Less than 24 hours - show relative time
@@ -95,12 +99,12 @@ const listCommand = {
95
99
  { key: 'updated', header: 'Last Updated', width: 18 }
96
100
  ],
97
101
  data: result.sessions.map(s => ({
98
- id: s.id,
102
+ id: s.sessionId || s.id || '-',
99
103
  name: s.name || '-',
100
- status: formatStatus(s.status),
101
- agents: s.agentCount,
102
- tasks: s.taskCount,
103
- updated: formatDate(s.updatedAt)
104
+ status: formatStatus(s.status || 'saved'),
105
+ agents: s.agentCount ?? s.stats?.agents ?? 0,
106
+ tasks: s.taskCount ?? s.stats?.tasks ?? 0,
107
+ updated: formatDate(s.updatedAt || s.savedAt || s.createdAt || '')
104
108
  }))
105
109
  });
106
110
  output.writeln();
@@ -184,6 +188,7 @@ const saveCommand = {
184
188
  });
185
189
  spinner.succeed('Session saved');
186
190
  output.writeln();
191
+ const stats = result.stats || {};
187
192
  output.printTable({
188
193
  columns: [
189
194
  { key: 'property', header: 'Property', width: 18 },
@@ -194,10 +199,10 @@ const saveCommand = {
194
199
  { property: 'Name', value: result.name },
195
200
  { property: 'Description', value: result.description || '-' },
196
201
  { property: 'Saved At', value: new Date(result.savedAt).toLocaleString() },
197
- { property: 'Agents', value: result.stats.agentCount },
198
- { property: 'Tasks', value: result.stats.taskCount },
199
- { property: 'Memory Entries', value: result.stats.memoryEntries },
200
- { property: 'Total Size', value: formatSize(result.stats.totalSize) }
202
+ { property: 'Agents', value: stats.agentCount ?? stats.agents ?? 0 },
203
+ { property: 'Tasks', value: stats.taskCount ?? stats.tasks ?? 0 },
204
+ { property: 'Memory Entries', value: stats.memoryEntries ?? 0 },
205
+ { property: 'Total Size', value: formatSize(stats.totalSize ?? 0) }
201
206
  ]
202
207
  });
203
208
  output.writeln();
@@ -479,6 +484,7 @@ const exportCommand = {
479
484
  fs.writeFileSync(absolutePath, content, 'utf-8');
480
485
  spinner.succeed('Session exported');
481
486
  output.writeln();
487
+ const exportStats = result.stats || {};
482
488
  output.printTable({
483
489
  columns: [
484
490
  { key: 'property', header: 'Property', width: 18 },
@@ -488,9 +494,9 @@ const exportCommand = {
488
494
  { property: 'Session ID', value: sessionId },
489
495
  { property: 'Output File', value: absolutePath },
490
496
  { property: 'Format', value: exportFormat.toUpperCase() },
491
- { property: 'Agents', value: result.stats.agentCount },
492
- { property: 'Tasks', value: result.stats.taskCount },
493
- { property: 'Memory Entries', value: result.stats.memoryEntries },
497
+ { property: 'Agents', value: exportStats.agentCount ?? exportStats.agents ?? 0 },
498
+ { property: 'Tasks', value: exportStats.taskCount ?? exportStats.tasks ?? 0 },
499
+ { property: 'Memory Entries', value: exportStats.memoryEntries ?? 0 },
494
500
  { property: 'File Size', value: formatSize(content.length) }
495
501
  ]
496
502
  });
@@ -620,6 +626,7 @@ const currentCommand = {
620
626
  output.writeln();
621
627
  output.writeln(output.bold('Current Session'));
622
628
  output.writeln();
629
+ const curStats = result.stats || {};
623
630
  output.printTable({
624
631
  columns: [
625
632
  { key: 'property', header: 'Property', width: 18 },
@@ -630,10 +637,10 @@ const currentCommand = {
630
637
  { property: 'Name', value: result.name || '-' },
631
638
  { property: 'Status', value: formatStatus(result.status) },
632
639
  { property: 'Started', value: new Date(result.startedAt).toLocaleString() },
633
- { property: 'Duration', value: formatDuration(result.stats.duration) },
634
- { property: 'Agents', value: result.stats.agentCount },
635
- { property: 'Tasks', value: result.stats.taskCount },
636
- { property: 'Memory Entries', value: result.stats.memoryEntries }
640
+ { property: 'Duration', value: formatDuration(curStats.duration ?? 0) },
641
+ { property: 'Agents', value: curStats.agentCount ?? curStats.agents ?? 0 },
642
+ { property: 'Tasks', value: curStats.taskCount ?? curStats.tasks ?? 0 },
643
+ { property: 'Memory Entries', value: curStats.memoryEntries ?? 0 }
637
644
  ]
638
645
  });
639
646
  return { success: true, data: result };
@@ -294,8 +294,8 @@ export const memoryTools = [
294
294
  const { searchEntries } = await getMemoryFunctions();
295
295
  const query = input.query;
296
296
  const namespace = input.namespace || 'default';
297
- const limit = input.limit || 10;
298
- const threshold = input.threshold || 0.3;
297
+ const limit = input.limit ?? 10;
298
+ const threshold = input.threshold ?? 0.3;
299
299
  validateMemoryInput(undefined, undefined, query);
300
300
  const startTime = performance.now();
301
301
  try {
@@ -712,7 +712,7 @@ export const memoryTools = [
712
712
  const { searchEntries } = await getMemoryFunctions();
713
713
  validateMemoryInput(undefined, undefined, input.query);
714
714
  const query = input.query;
715
- const limit = input.limit || 10;
715
+ const limit = input.limit ?? 10;
716
716
  const ns = input.namespace;
717
717
  if (ns) {
718
718
  const vNs = validateIdentifier(ns, 'namespace');
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-flow/cli",
3
- "version": "3.5.80",
3
+ "version": "3.5.81",
4
4
  "type": "module",
5
5
  "description": "Ruflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
6
6
  "main": "dist/src/index.js",