claude-flow 3.59.9 → 3.59.11

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "adoptedAt": 1792600179143,
2
+ "adoptedAt": 1792611332070,
3
3
  "championId": "sha256:6141a8ea990c5063b77e090ae8f37f9c539d8aa8f58dcceb30f3a82f97e57319",
4
4
  "manifest": {
5
5
  "schema": "ruflo.proven-config/v1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow",
3
- "version": "3.59.9",
3
+ "version": "3.59.11",
4
4
  "workspaces": [
5
5
  "v3/@claude-flow/codex",
6
6
  "v3/@claude-flow/mcp",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "generation": 7,
4
- "generatedAt": "2026-10-21T16:30:19.068Z",
5
- "gitSha": "588ef6b3",
4
+ "generatedAt": "2026-10-21T19:36:12.729Z",
5
+ "gitSha": "0e7696e6",
6
6
  "catalog": {
7
7
  "agents": 176,
8
8
  "tools": 432,
@@ -47,8 +47,8 @@ export const signCommand = {
47
47
  action: async (ctx) => {
48
48
  const file = ctx.flags.file;
49
49
  const keyPath = ctx.flags.key;
50
- const genKeys = ctx.flags['generate-keys'];
51
- const keyDir = ctx.flags['key-dir'] || '.rvfa-keys';
50
+ const genKeys = ctx.flags.generateKeys;
51
+ const keyDir = ctx.flags.keyDir || '.rvfa-keys';
52
52
  const signer = ctx.flags.signer;
53
53
  if (!file)
54
54
  return fail('--file is required');
@@ -184,14 +184,14 @@ export const updateAppCommand = {
184
184
  });
185
185
  }
186
186
  let pubKey;
187
- if (ctx.flags['public-key']) {
188
- const pkPath = ctx.flags['public-key'];
187
+ if (ctx.flags.publicKey) {
188
+ const pkPath = ctx.flags.publicKey;
189
189
  if (!(await requireFile(pkPath)))
190
190
  return { success: false, exitCode: 1 };
191
191
  pubKey = fs.readFileSync(pkPath);
192
192
  }
193
193
  const result = await dist.RvfaPatcher.applyPatch(file, patchBuf, {
194
- backup: !ctx.flags['no-backup'],
194
+ backup: ctx.flags.backup !== false,
195
195
  verify: true,
196
196
  publicKey: pubKey,
197
197
  });
@@ -70,7 +70,7 @@ const buildCommand = {
70
70
  const outputPath = ctx.flags.output || 'ruflo.rvf';
71
71
  const arch = ctx.flags.arch || 'x86_64';
72
72
  const models = ctx.flags.models || [];
73
- const apiKeysPath = ctx.flags['api-keys'];
73
+ const apiKeysPath = ctx.flags.apiKeys;
74
74
  header('RVFA Appliance Builder');
75
75
  output.printInfo(`Profile: ${output.highlight(profile)}`);
76
76
  output.printInfo(`Arch: ${arch}`);
@@ -92,7 +92,10 @@ const buildCommand = {
92
92
  if (apiKeysPath)
93
93
  steps.splice(steps.length - 1, 0, 'Sealing API key vault');
94
94
  try {
95
- const builder = new RvfaBuilder({ profile, outputPath, arch, models, apiKeysPath });
95
+ const builder = new RvfaBuilder({
96
+ profile, output: outputPath, arch, apiKeys: apiKeysPath,
97
+ models: models.length > 0 ? models : undefined,
98
+ });
96
99
  await runSteps(steps);
97
100
  const result = await builder.build();
98
101
  const duration = ((Date.now() - startTime) / 1000).toFixed(1);
@@ -108,7 +111,7 @@ const buildCommand = {
108
111
  }
109
112
  output.writeln();
110
113
  output.printSuccess(`Appliance written to ${output.bold(outputPath)}`);
111
- output.printInfo(`Total size: ${output.bold(fmtSize(result.totalSize))} Duration: ${duration}s`);
114
+ output.printInfo(`Total size: ${output.bold(fmtSize(result.size))} Duration: ${duration}s`);
112
115
  return { success: true, data: result };
113
116
  }
114
117
  catch (err) {
@@ -55,7 +55,8 @@ const startCommand = {
55
55
  action: async (ctx) => {
56
56
  const quiet = ctx.flags.quiet;
57
57
  const foreground = ctx.flags.foreground;
58
- const noDistill = ctx.flags['no-distill'];
58
+ // The CLI parser stores `--no-distill` as `distill: false`.
59
+ const noDistill = ctx.flags['no-distill'] === true || ctx.flags.distill === false;
59
60
  // ADR-174 M3: honored by WorkerDaemon's consolidate worker directly via
60
61
  // process.env — set it now so the foreground path (which runs in this
61
62
  // same process) picks it up too; the background path forwards it to the
@@ -81,8 +82,8 @@ const startCommand = {
81
82
  if (ctx.flags.headless === true) {
82
83
  config.aiWorkersEnabled = true;
83
84
  }
84
- const rawMaxCpu = ctx.flags['max-cpu-load'];
85
- const rawMinMem = ctx.flags['min-free-memory'];
85
+ const rawMaxCpu = ctx.flags.maxCpuLoad;
86
+ const rawMinMem = ctx.flags.minFreeMemory;
86
87
  // Strict numeric pattern to prevent command injection when forwarding to subprocess (S1)
87
88
  const NUMERIC_RE = /^\d+(\.\d+)?$/;
88
89
  const sanitize = (s) => s.replace(/[\x00-\x1f\x7f-\x9f]/g, '');
@@ -19,7 +19,8 @@ import { commandExists } from '../services/harness-hosts.js';
19
19
  */
20
20
  async function offerCapabilityEnrollment(ctx) {
21
21
  try {
22
- const noSignup = Boolean(ctx.flags['no-signup'] || ctx.flags.noSignup);
22
+ // The CLI parser turns `--no-signup` into `signup: false`.
23
+ const noSignup = Boolean(ctx.flags['no-signup'] || ctx.flags.noSignup || ctx.flags.signup === false);
23
24
  if (ctx.flags.format === 'json')
24
25
  return; // scripted output stays pure
25
26
  if (!shouldOfferEnrollment({ noSignup, cwd: ctx.cwd }))
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-flow/cli",
3
- "version": "3.59.9",
3
+ "version": "3.59.11",
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",