@claude-flow/cli 3.27.3 → 3.27.4

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,13 +1,13 @@
1
1
  {
2
2
  "manifest": {
3
- "version": "3.27.3",
3
+ "version": "3.27.4",
4
4
  "files": {
5
5
  "auto-memory-hook.mjs": "68be7e9a9eba7bf9c4e8a230db7bf61a243b965639f8504842799d6c6ca28762",
6
6
  "hook-handler.cjs": "2e4927ff158c0079a67a6f0ef0b99ac748d600d33798b0a5fbd5a6a82225ec03",
7
7
  "intelligence.cjs": "bd1f8e4b034944aee1df0391dc47ac2e8cc4b3aa542c65407a59d49620bbf76b",
8
- "statusline.cjs": "ca46b9c780fee974d4b54cfd610b3b09d77c78c40761dc49ae76355da2f643ba"
8
+ "statusline.cjs": "19586a8052bd032cea909a2d020f680aa8da31f5c4229068af612811cc694d5a"
9
9
  }
10
10
  },
11
- "signature": "XuS7Mn0CwcqZYTTEoSRuCXG3f9fH7Mu7pILRJi86I+Qj4tDmaroqEhu8TWN1PEVXCK5tiLTMnG20ZxcY+twbDg==",
11
+ "signature": "y9y4o3fDtk7y2fBJy4NFbL3SF2Rog1GyVougqEHupMzxLctiKjS+k51WSnO35cFCUsMO6It3Vh30cNPsSwlzCA==",
12
12
  "algorithm": "ed25519"
13
13
  }
@@ -618,7 +618,7 @@ function getPkgVersion() {
618
618
  // version (see generateStatuslineScript()'s doc comment) — correct even
619
619
  // when this renders via a pure npx invocation with no local install for
620
620
  // the candidate scan below to find.
621
- let ver = "3.27.3";
621
+ let ver = "3.27.4";
622
622
  try {
623
623
  const home = os.homedir();
624
624
  const pkgPaths = [
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "generation": 1,
4
- "generatedAt": "2026-07-14T04:26:59.494Z",
5
- "gitSha": "6643d44d",
4
+ "generatedAt": "2026-07-14T04:41:45.824Z",
5
+ "gitSha": "b254e321",
6
6
  "catalog": {
7
7
  "agents": 164,
8
8
  "tools": 387,
@@ -468,7 +468,9 @@ const initAction = async (ctx) => {
468
468
  output.writeln(output.bold('Next steps:'));
469
469
  output.printList([
470
470
  `Run ${output.highlight(`${bin} daemon start`)} to start background workers`,
471
- `Run ${output.highlight(`${bin} memory init`)} to initialize memory database`,
471
+ // Memory is initialized automatically during init (persistent by
472
+ // default — see executor.ts) — no separate `memory init` step needed
473
+ // unless the DB was skipped (MINIMAL_INIT_OPTIONS) or needs --force.
472
474
  `Run ${output.highlight(`${bin} swarm init`)} to initialize a swarm`,
473
475
  `Or use ${output.highlight(`${bin} init --start-all`)} to do all of the above`,
474
476
  options.components.settings ? `Review ${output.highlight('.claude/settings.json')} for hook configurations` : '',
@@ -212,15 +212,39 @@ export async function executeInit(options) {
212
212
  // the `vector_indexes` table (older CLI / agentdb-written), self-heal it
213
213
  // so the statusline vector count + namespace routing work. Best-effort,
214
214
  // dynamically imported so a WASM-only host without better-sqlite3 just
215
- // skips it. Fresh projects have no DB yet — this is a no-op there.
215
+ // skips it.
216
+ //
217
+ // Persistent memory ON BY DEFAULT: `runtime.memoryBackend` already
218
+ // defaults to 'hybrid' in DEFAULT_INIT_OPTIONS, but that only ever
219
+ // configured the DECLARED backend — the actual .swarm/memory.db file
220
+ // was never created until something eventually called `memory store`
221
+ // or the user ran `memory init --force` by hand (both the generated
222
+ // CLAUDE.md and the quickstart docs told users to do this as a
223
+ // separate step). A fresh project could sit for days looking
224
+ // "configured for AgentDB" while genuinely capturing nothing, with no
225
+ // signal that the config and the on-disk reality had diverged. Fresh
226
+ // projects now get the DB eagerly created here, matching what
227
+ // `memoryBackend` already promised; MINIMAL_INIT_OPTIONS
228
+ // (memoryBackend: 'memory') opts out, matching its non-persistent intent.
216
229
  try {
217
230
  const memDbPath = path.join(targetDir, '.swarm', 'memory.db');
218
231
  if (fs.existsSync(memDbPath)) {
219
232
  const { repairVectorIndexes } = await import('../memory/memory-initializer.js');
220
233
  await repairVectorIndexes(memDbPath, { autoRecover: true });
221
234
  }
235
+ else if (options.runtime.memoryBackend !== 'memory') {
236
+ const { initializeMemoryDatabase } = await import('../memory/memory-initializer.js');
237
+ const initResult = await initializeMemoryDatabase({
238
+ backend: options.runtime.memoryBackend,
239
+ dbPath: memDbPath,
240
+ verbose: false,
241
+ });
242
+ if (initResult.success) {
243
+ result.created.files.push('.swarm/memory.db');
244
+ }
245
+ }
222
246
  }
223
- catch { /* best-effort — never block init on memory repair */ }
247
+ catch { /* best-effort — never block init on memory setup */ }
224
248
  }
225
249
  // Generate statusline
226
250
  if (options.components.statusline) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-flow/cli",
3
- "version": "3.27.3",
3
+ "version": "3.27.4",
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",