moflo 4.8.21 → 4.8.22
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/.claude/agents/browser/browser-agent.yaml +182 -182
- package/.claude/agents/core/coder.md +265 -265
- package/.claude/agents/core/planner.md +167 -167
- package/.claude/agents/core/researcher.md +189 -189
- package/.claude/agents/core/reviewer.md +325 -325
- package/.claude/agents/core/tester.md +318 -318
- package/.claude/agents/database-specialist.yaml +21 -21
- package/.claude/agents/dual-mode/codex-coordinator.md +224 -224
- package/.claude/agents/dual-mode/codex-worker.md +211 -211
- package/.claude/agents/dual-mode/dual-orchestrator.md +291 -291
- package/.claude/agents/github/code-review-swarm.md +537 -537
- package/.claude/agents/github/github-modes.md +172 -172
- package/.claude/agents/github/issue-tracker.md +318 -318
- package/.claude/agents/github/multi-repo-swarm.md +552 -552
- package/.claude/agents/github/pr-manager.md +190 -190
- package/.claude/agents/github/project-board-sync.md +508 -508
- package/.claude/agents/github/release-manager.md +366 -366
- package/.claude/agents/github/release-swarm.md +582 -582
- package/.claude/agents/github/repo-architect.md +397 -397
- package/.claude/agents/github/swarm-issue.md +572 -572
- package/.claude/agents/github/swarm-pr.md +427 -427
- package/.claude/agents/github/sync-coordinator.md +451 -451
- package/.claude/agents/github/workflow-automation.md +634 -634
- package/.claude/agents/goal/code-goal-planner.md +445 -445
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -129
- package/.claude/agents/hive-mind/queen-coordinator.md +202 -202
- package/.claude/agents/hive-mind/scout-explorer.md +241 -241
- package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -192
- package/.claude/agents/hive-mind/worker-specialist.md +216 -216
- package/.claude/agents/index.yaml +17 -17
- package/.claude/agents/neural/safla-neural.md +73 -73
- package/.claude/agents/project-coordinator.yaml +15 -15
- package/.claude/agents/python-specialist.yaml +21 -21
- package/.claude/agents/reasoning/goal-planner.md +72 -72
- package/.claude/agents/security-auditor.yaml +20 -20
- package/.claude/agents/swarm/adaptive-coordinator.md +395 -395
- package/.claude/agents/swarm/hierarchical-coordinator.md +326 -326
- package/.claude/agents/swarm/mesh-coordinator.md +391 -391
- package/.claude/agents/templates/migration-plan.md +745 -745
- package/.claude/agents/typescript-specialist.yaml +21 -21
- package/.claude/checkpoints/1767754460.json +8 -8
- package/.claude/commands/agents/agent-spawning.md +28 -28
- package/.claude/commands/github/github-modes.md +146 -146
- package/.claude/commands/github/github-swarm.md +121 -121
- package/.claude/commands/github/issue-tracker.md +291 -291
- package/.claude/commands/github/pr-manager.md +169 -169
- package/.claude/commands/github/release-manager.md +337 -337
- package/.claude/commands/github/repo-architect.md +366 -366
- package/.claude/commands/github/sync-coordinator.md +300 -300
- package/.claude/commands/memory/neural.md +47 -47
- package/.claude/commands/sparc/analyzer.md +51 -51
- package/.claude/commands/sparc/architect.md +53 -53
- package/.claude/commands/sparc/ask.md +97 -97
- package/.claude/commands/sparc/batch-executor.md +54 -54
- package/.claude/commands/sparc/code.md +89 -89
- package/.claude/commands/sparc/coder.md +54 -54
- package/.claude/commands/sparc/debug.md +83 -83
- package/.claude/commands/sparc/debugger.md +54 -54
- package/.claude/commands/sparc/designer.md +53 -53
- package/.claude/commands/sparc/devops.md +109 -109
- package/.claude/commands/sparc/docs-writer.md +80 -80
- package/.claude/commands/sparc/documenter.md +54 -54
- package/.claude/commands/sparc/innovator.md +54 -54
- package/.claude/commands/sparc/integration.md +83 -83
- package/.claude/commands/sparc/mcp.md +117 -117
- package/.claude/commands/sparc/memory-manager.md +54 -54
- package/.claude/commands/sparc/optimizer.md +54 -54
- package/.claude/commands/sparc/orchestrator.md +131 -131
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
- package/.claude/commands/sparc/researcher.md +54 -54
- package/.claude/commands/sparc/reviewer.md +54 -54
- package/.claude/commands/sparc/security-review.md +80 -80
- package/.claude/commands/sparc/sparc-modes.md +174 -174
- package/.claude/commands/sparc/sparc.md +111 -111
- package/.claude/commands/sparc/spec-pseudocode.md +80 -80
- package/.claude/commands/sparc/supabase-admin.md +348 -348
- package/.claude/commands/sparc/swarm-coordinator.md +54 -54
- package/.claude/commands/sparc/tdd.md +54 -54
- package/.claude/commands/sparc/tester.md +54 -54
- package/.claude/commands/sparc/tutorial.md +79 -79
- package/.claude/commands/sparc/workflow-manager.md +54 -54
- package/.claude/commands/sparc.md +166 -166
- package/.claude/commands/swarm/analysis.md +95 -95
- package/.claude/commands/swarm/development.md +96 -96
- package/.claude/commands/swarm/examples.md +168 -168
- package/.claude/commands/swarm/maintenance.md +102 -102
- package/.claude/commands/swarm/optimization.md +117 -117
- package/.claude/commands/swarm/research.md +136 -136
- package/.claude/commands/swarm/testing.md +131 -131
- package/.claude/commands/workflows/development.md +77 -77
- package/.claude/commands/workflows/research.md +62 -62
- package/.claude/guidance/moflo-bootstrap.md +126 -126
- package/.claude/guidance/shipped/agent-bootstrap.md +126 -126
- package/.claude/guidance/shipped/guidance-memory-strategy.md +262 -262
- package/.claude/guidance/shipped/memory-strategy.md +204 -204
- package/.claude/guidance/shipped/moflo.md +668 -653
- package/.claude/guidance/shipped/task-swarm-integration.md +441 -441
- package/.claude/helpers/intelligence.cjs +207 -207
- package/.claude/helpers/statusline.cjs +851 -851
- package/.claude/settings.local.json +18 -0
- package/.claude/skills/fl/SKILL.md +583 -583
- package/.claude/skills/flo/SKILL.md +583 -583
- package/.claude/skills/github-code-review/SKILL.md +1140 -1140
- package/.claude/skills/github-multi-repo/SKILL.md +874 -874
- package/.claude/skills/github-project-management/SKILL.md +1277 -1277
- package/.claude/skills/github-release-management/SKILL.md +1081 -1081
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
- package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
- package/.claude/skills/performance-analysis/SKILL.md +563 -563
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
- package/.claude/skills/swarm-advanced/SKILL.md +973 -973
- package/.claude/workflow-state.json +4 -4
- package/LICENSE +21 -21
- package/README.md +685 -685
- package/bin/cli.js +0 -0
- package/bin/gate-hook.mjs +50 -50
- package/bin/gate.cjs +138 -138
- package/bin/generate-code-map.mjs +775 -775
- package/bin/hook-handler.cjs +83 -83
- package/bin/hooks.mjs +656 -656
- package/bin/index-guidance.mjs +892 -892
- package/bin/index-tests.mjs +709 -709
- package/bin/lib/process-manager.mjs +243 -243
- package/bin/lib/registry-cleanup.cjs +41 -41
- package/bin/prompt-hook.mjs +72 -72
- package/bin/semantic-search.mjs +472 -472
- package/bin/session-start-launcher.mjs +238 -238
- package/bin/setup-project.mjs +250 -250
- package/package.json +123 -123
- package/src/@claude-flow/cli/README.md +452 -452
- package/src/@claude-flow/cli/bin/cli.js +180 -180
- package/src/@claude-flow/cli/bin/preinstall.cjs +2 -2
- package/src/@claude-flow/cli/dist/src/commands/completions.js +409 -409
- package/src/@claude-flow/cli/dist/src/commands/doctor.js +5 -1
- package/src/@claude-flow/cli/dist/src/commands/embeddings.js +25 -25
- package/src/@claude-flow/cli/dist/src/commands/github.js +61 -61
- package/src/@claude-flow/cli/dist/src/commands/hive-mind.js +90 -90
- package/src/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
- package/src/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
- package/src/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
- package/src/@claude-flow/cli/dist/src/config/moflo-config.d.ts +3 -0
- package/src/@claude-flow/cli/dist/src/config/moflo-config.js +101 -91
- package/src/@claude-flow/cli/dist/src/index.d.ts +5 -0
- package/src/@claude-flow/cli/dist/src/index.js +44 -0
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +29 -29
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.js +43 -43
- package/src/@claude-flow/cli/dist/src/init/executor.js +453 -453
- package/src/@claude-flow/cli/dist/src/init/helpers-generator.js +482 -482
- package/src/@claude-flow/cli/dist/src/init/moflo-init.d.ts +30 -30
- package/src/@claude-flow/cli/dist/src/init/moflo-init.js +140 -140
- package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +876 -876
- package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +371 -371
- package/src/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.js +584 -0
- package/src/@claude-flow/cli/dist/src/services/daemon-lock.d.ts +14 -0
- package/src/@claude-flow/cli/dist/src/services/daemon-lock.js +1 -1
- package/src/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
- package/src/@claude-flow/cli/package.json +1 -1
- package/src/@claude-flow/guidance/README.md +1195 -1195
- package/src/@claude-flow/guidance/package.json +198 -198
- package/src/@claude-flow/memory/README.md +587 -587
- package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +4 -7
- package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +2 -0
- package/src/@claude-flow/memory/dist/agentdb-backend.js +28 -26
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +36 -39
- package/src/@claude-flow/memory/dist/benchmark.test.js +1 -1
- package/src/@claude-flow/memory/dist/controller-registry.test.js +43 -0
- package/src/@claude-flow/memory/dist/database-provider.d.ts +2 -2
- package/src/@claude-flow/memory/dist/database-provider.js +6 -3
- package/src/@claude-flow/memory/dist/database-provider.test.js +1 -3
- package/src/@claude-flow/memory/dist/hybrid-backend.d.ts +245 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.js +569 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.test.d.ts +8 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.test.js +320 -0
- package/src/@claude-flow/memory/dist/index.d.ts +3 -0
- package/src/@claude-flow/memory/dist/index.js +3 -0
- package/src/@claude-flow/memory/dist/sqlite-backend.d.ts +121 -0
- package/src/@claude-flow/memory/dist/sqlite-backend.js +572 -0
- package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +4 -3
- package/src/@claude-flow/memory/dist/sqljs-backend.js +31 -30
- package/src/@claude-flow/memory/package.json +44 -44
- package/src/@claude-flow/shared/README.md +323 -323
- package/src/@claude-flow/shared/dist/core/config/defaults.js +1 -1
- package/src/@claude-flow/shared/dist/core/config/loader.js +1 -1
- package/src/@claude-flow/shared/dist/core/config/schema.js +1 -1
- package/src/@claude-flow/shared/dist/events/event-store.js +34 -50
- package/src/@claude-flow/shared/dist/events/event-store.test.js +4 -8
- package/src/@claude-flow/shared/dist/hooks/executor.js +4 -7
- package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +1 -1
- package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +3 -3
- package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +6 -6
- package/src/@claude-flow/shared/dist/utils/secure-logger.js +1 -1
- package/src/README.md +493 -493
- package/src/@claude-flow/guidance/dist/adversarial.d.ts +0 -284
- package/src/@claude-flow/guidance/dist/adversarial.js +0 -572
- package/src/@claude-flow/guidance/dist/analyzer.d.ts +0 -530
- package/src/@claude-flow/guidance/dist/analyzer.js +0 -2518
- package/src/@claude-flow/guidance/dist/artifacts.d.ts +0 -283
- package/src/@claude-flow/guidance/dist/artifacts.js +0 -356
- package/src/@claude-flow/guidance/dist/authority.d.ts +0 -290
- package/src/@claude-flow/guidance/dist/authority.js +0 -558
- package/src/@claude-flow/guidance/dist/capabilities.d.ts +0 -209
- package/src/@claude-flow/guidance/dist/capabilities.js +0 -485
- package/src/@claude-flow/guidance/dist/coherence.d.ts +0 -233
- package/src/@claude-flow/guidance/dist/coherence.js +0 -372
- package/src/@claude-flow/guidance/dist/compiler.d.ts +0 -87
- package/src/@claude-flow/guidance/dist/compiler.js +0 -419
- package/src/@claude-flow/guidance/dist/conformance-kit.d.ts +0 -225
- package/src/@claude-flow/guidance/dist/conformance-kit.js +0 -629
- package/src/@claude-flow/guidance/dist/continue-gate.d.ts +0 -214
- package/src/@claude-flow/guidance/dist/continue-gate.js +0 -353
- package/src/@claude-flow/guidance/dist/crypto-utils.d.ts +0 -17
- package/src/@claude-flow/guidance/dist/crypto-utils.js +0 -24
- package/src/@claude-flow/guidance/dist/evolution.d.ts +0 -282
- package/src/@claude-flow/guidance/dist/evolution.js +0 -500
- package/src/@claude-flow/guidance/dist/gates.d.ts +0 -79
- package/src/@claude-flow/guidance/dist/gates.js +0 -302
- package/src/@claude-flow/guidance/dist/gateway.d.ts +0 -206
- package/src/@claude-flow/guidance/dist/gateway.js +0 -452
- package/src/@claude-flow/guidance/dist/generators.d.ts +0 -153
- package/src/@claude-flow/guidance/dist/generators.js +0 -682
- package/src/@claude-flow/guidance/dist/headless.d.ts +0 -177
- package/src/@claude-flow/guidance/dist/headless.js +0 -342
- package/src/@claude-flow/guidance/dist/hooks.d.ts +0 -109
- package/src/@claude-flow/guidance/dist/hooks.js +0 -347
- package/src/@claude-flow/guidance/dist/index.d.ts +0 -205
- package/src/@claude-flow/guidance/dist/index.js +0 -321
- package/src/@claude-flow/guidance/dist/ledger.d.ts +0 -162
- package/src/@claude-flow/guidance/dist/ledger.js +0 -375
- package/src/@claude-flow/guidance/dist/manifest-validator.d.ts +0 -289
- package/src/@claude-flow/guidance/dist/manifest-validator.js +0 -838
- package/src/@claude-flow/guidance/dist/memory-gate.d.ts +0 -222
- package/src/@claude-flow/guidance/dist/memory-gate.js +0 -382
- package/src/@claude-flow/guidance/dist/meta-governance.d.ts +0 -265
- package/src/@claude-flow/guidance/dist/meta-governance.js +0 -348
- package/src/@claude-flow/guidance/dist/optimizer.d.ts +0 -104
- package/src/@claude-flow/guidance/dist/optimizer.js +0 -329
- package/src/@claude-flow/guidance/dist/persistence.d.ts +0 -189
- package/src/@claude-flow/guidance/dist/persistence.js +0 -464
- package/src/@claude-flow/guidance/dist/proof.d.ts +0 -185
- package/src/@claude-flow/guidance/dist/proof.js +0 -238
- package/src/@claude-flow/guidance/dist/retriever.d.ts +0 -116
- package/src/@claude-flow/guidance/dist/retriever.js +0 -394
- package/src/@claude-flow/guidance/dist/ruvbot-integration.d.ts +0 -370
- package/src/@claude-flow/guidance/dist/ruvbot-integration.js +0 -738
- package/src/@claude-flow/guidance/dist/temporal.d.ts +0 -426
- package/src/@claude-flow/guidance/dist/temporal.js +0 -658
- package/src/@claude-flow/guidance/dist/trust.d.ts +0 -283
- package/src/@claude-flow/guidance/dist/trust.js +0 -473
- package/src/@claude-flow/guidance/dist/truth-anchors.d.ts +0 -276
- package/src/@claude-flow/guidance/dist/truth-anchors.js +0 -488
- package/src/@claude-flow/guidance/dist/types.d.ts +0 -378
- package/src/@claude-flow/guidance/dist/types.js +0 -10
- package/src/@claude-flow/guidance/dist/uncertainty.d.ts +0 -372
- package/src/@claude-flow/guidance/dist/uncertainty.js +0 -619
- package/src/@claude-flow/guidance/dist/wasm-kernel.d.ts +0 -48
- package/src/@claude-flow/guidance/dist/wasm-kernel.js +0 -158
|
@@ -10,7 +10,7 @@ import { join, dirname } from 'path';
|
|
|
10
10
|
import { fileURLToPath } from 'url';
|
|
11
11
|
import { execSync, exec } from 'child_process';
|
|
12
12
|
import { promisify } from 'util';
|
|
13
|
-
import { getDaemonLockHolder, releaseDaemonLock } from '../services/daemon-lock.js';
|
|
13
|
+
import { getDaemonLockHolder, releaseDaemonLock, isDaemonProcess } from '../services/daemon-lock.js';
|
|
14
14
|
// Promisified exec with proper shell and env inheritance for cross-platform support
|
|
15
15
|
const execAsync = promisify(exec);
|
|
16
16
|
/**
|
|
@@ -765,6 +765,10 @@ async function findZombieProcesses(kill = false) {
|
|
|
765
765
|
continue;
|
|
766
766
|
if (isProcessAlive(ppid))
|
|
767
767
|
continue;
|
|
768
|
+
// Defense-in-depth: detached daemons have dead parents by design.
|
|
769
|
+
// Even if the lock file is missing/corrupted, don't kill a running daemon.
|
|
770
|
+
if (isDaemonProcess(pid))
|
|
771
|
+
continue;
|
|
768
772
|
found.push(pid);
|
|
769
773
|
}
|
|
770
774
|
if (kill && found.length > 0) {
|
|
@@ -146,13 +146,13 @@ const searchCommand = {
|
|
|
146
146
|
const queryResult = await generateEmbedding(query);
|
|
147
147
|
const queryEmbedding = queryResult.embedding;
|
|
148
148
|
// Get all entries with embeddings from database
|
|
149
|
-
const entries = db.exec(`
|
|
150
|
-
SELECT id, key, namespace, content, embedding, embedding_dimensions
|
|
151
|
-
FROM memory_entries
|
|
152
|
-
WHERE status = 'active'
|
|
153
|
-
AND embedding IS NOT NULL
|
|
154
|
-
${namespace !== 'all' ? `AND namespace = '${namespace}'` : ''}
|
|
155
|
-
LIMIT 1000
|
|
149
|
+
const entries = db.exec(`
|
|
150
|
+
SELECT id, key, namespace, content, embedding, embedding_dimensions
|
|
151
|
+
FROM memory_entries
|
|
152
|
+
WHERE status = 'active'
|
|
153
|
+
AND embedding IS NOT NULL
|
|
154
|
+
${namespace !== 'all' ? `AND namespace = '${namespace}'` : ''}
|
|
155
|
+
LIMIT 1000
|
|
156
156
|
`);
|
|
157
157
|
const results = [];
|
|
158
158
|
if (entries[0]?.values) {
|
|
@@ -181,13 +181,13 @@ const searchCommand = {
|
|
|
181
181
|
}
|
|
182
182
|
// Also search entries without embeddings using keyword match
|
|
183
183
|
if (results.length < limit) {
|
|
184
|
-
const keywordEntries = db.exec(`
|
|
185
|
-
SELECT id, key, namespace, content
|
|
186
|
-
FROM memory_entries
|
|
187
|
-
WHERE status = 'active'
|
|
188
|
-
AND (content LIKE '%${query.replace(/'/g, "''")}%' OR key LIKE '%${query.replace(/'/g, "''")}%')
|
|
189
|
-
${namespace !== 'all' ? `AND namespace = '${namespace}'` : ''}
|
|
190
|
-
LIMIT ${limit - results.length}
|
|
184
|
+
const keywordEntries = db.exec(`
|
|
185
|
+
SELECT id, key, namespace, content
|
|
186
|
+
FROM memory_entries
|
|
187
|
+
WHERE status = 'active'
|
|
188
|
+
AND (content LIKE '%${query.replace(/'/g, "''")}%' OR key LIKE '%${query.replace(/'/g, "''")}%')
|
|
189
|
+
${namespace !== 'all' ? `AND namespace = '${namespace}'` : ''}
|
|
190
|
+
LIMIT ${limit - results.length}
|
|
191
191
|
`);
|
|
192
192
|
if (keywordEntries[0]?.values) {
|
|
193
193
|
for (const row of keywordEntries[0].values) {
|
|
@@ -384,17 +384,17 @@ const collectionsCommand = {
|
|
|
384
384
|
const fileBuffer = fs.readFileSync(fullDbPath);
|
|
385
385
|
const db = new SQL.Database(fileBuffer);
|
|
386
386
|
// Get collection stats from database
|
|
387
|
-
const statsQuery = db.exec(`
|
|
388
|
-
SELECT
|
|
389
|
-
namespace,
|
|
390
|
-
COUNT(*) as total_entries,
|
|
391
|
-
SUM(CASE WHEN embedding IS NOT NULL THEN 1 ELSE 0 END) as with_embeddings,
|
|
392
|
-
AVG(embedding_dimensions) as avg_dimensions,
|
|
393
|
-
SUM(LENGTH(content)) as total_content_size
|
|
394
|
-
FROM memory_entries
|
|
395
|
-
WHERE status = 'active'
|
|
396
|
-
GROUP BY namespace
|
|
397
|
-
ORDER BY total_entries DESC
|
|
387
|
+
const statsQuery = db.exec(`
|
|
388
|
+
SELECT
|
|
389
|
+
namespace,
|
|
390
|
+
COUNT(*) as total_entries,
|
|
391
|
+
SUM(CASE WHEN embedding IS NOT NULL THEN 1 ELSE 0 END) as with_embeddings,
|
|
392
|
+
AVG(embedding_dimensions) as avg_dimensions,
|
|
393
|
+
SUM(LENGTH(content)) as total_content_size
|
|
394
|
+
FROM memory_entries
|
|
395
|
+
WHERE status = 'active'
|
|
396
|
+
GROUP BY namespace
|
|
397
|
+
ORDER BY total_entries DESC
|
|
398
398
|
`);
|
|
399
399
|
// Get vector index info
|
|
400
400
|
const indexQuery = db.exec(`SELECT name, dimensions, hnsw_m FROM vector_indexes`);
|
|
@@ -137,74 +137,74 @@ function generateCIWorkflow(config, defaultBranch) {
|
|
|
137
137
|
: pm === 'bun' ? 'bun install --frozen-lockfile'
|
|
138
138
|
: 'npm ci';
|
|
139
139
|
const run = pm === 'pnpm' ? 'pnpm' : pm === 'yarn' ? 'yarn' : pm === 'bun' ? 'bun run' : 'npm run';
|
|
140
|
-
const setupPm = pm === 'pnpm' ? `
|
|
141
|
-
- name: Install pnpm
|
|
142
|
-
uses: pnpm/action-setup@v4
|
|
143
|
-
with:
|
|
144
|
-
version: latest
|
|
140
|
+
const setupPm = pm === 'pnpm' ? `
|
|
141
|
+
- name: Install pnpm
|
|
142
|
+
uses: pnpm/action-setup@v4
|
|
143
|
+
with:
|
|
144
|
+
version: latest
|
|
145
145
|
` : '';
|
|
146
146
|
const nodeCache = pm === 'pnpm' ? 'pnpm' : pm === 'yarn' ? 'yarn' : pm === 'bun' ? '' : 'npm';
|
|
147
|
-
const setupNode = nodeCache ? `
|
|
148
|
-
- name: Setup Node.js
|
|
149
|
-
uses: actions/setup-node@v4
|
|
150
|
-
with:
|
|
151
|
-
node-version: 20
|
|
152
|
-
cache: '${nodeCache}'
|
|
153
|
-
` : `
|
|
154
|
-
- name: Setup Node.js
|
|
155
|
-
uses: actions/setup-node@v4
|
|
156
|
-
with:
|
|
157
|
-
node-version: 20
|
|
147
|
+
const setupNode = nodeCache ? `
|
|
148
|
+
- name: Setup Node.js
|
|
149
|
+
uses: actions/setup-node@v4
|
|
150
|
+
with:
|
|
151
|
+
node-version: 20
|
|
152
|
+
cache: '${nodeCache}'
|
|
153
|
+
` : `
|
|
154
|
+
- name: Setup Node.js
|
|
155
|
+
uses: actions/setup-node@v4
|
|
156
|
+
with:
|
|
157
|
+
node-version: 20
|
|
158
158
|
`;
|
|
159
|
-
const setupBun = pm === 'bun' ? `
|
|
160
|
-
- name: Setup Bun
|
|
161
|
-
uses: oven-sh/setup-bun@v2
|
|
159
|
+
const setupBun = pm === 'bun' ? `
|
|
160
|
+
- name: Setup Bun
|
|
161
|
+
uses: oven-sh/setup-bun@v2
|
|
162
162
|
` : '';
|
|
163
|
-
const lintStep = `
|
|
164
|
-
- name: Lint
|
|
165
|
-
run: ${run} lint --max-warnings 0
|
|
163
|
+
const lintStep = `
|
|
164
|
+
- name: Lint
|
|
165
|
+
run: ${run} lint --max-warnings 0
|
|
166
166
|
continue-on-error: true`;
|
|
167
|
-
const typeCheckStep = config.hasTypeScript ? `
|
|
168
|
-
|
|
169
|
-
- name: Type check
|
|
167
|
+
const typeCheckStep = config.hasTypeScript ? `
|
|
168
|
+
|
|
169
|
+
- name: Type check
|
|
170
170
|
run: ${run} typecheck` : '';
|
|
171
|
-
const testStep = config.hasTests ? `
|
|
172
|
-
|
|
173
|
-
- name: Test
|
|
171
|
+
const testStep = config.hasTests ? `
|
|
172
|
+
|
|
173
|
+
- name: Test
|
|
174
174
|
run: ${run} test` : '';
|
|
175
|
-
return `# CI pipeline — generated by moflo (https://github.com/eric-cielo/moflo)
|
|
176
|
-
# Runs on every push to ${defaultBranch} and on all pull requests.
|
|
177
|
-
|
|
178
|
-
name: CI
|
|
179
|
-
|
|
180
|
-
on:
|
|
181
|
-
push:
|
|
182
|
-
branches: [${defaultBranch}]
|
|
183
|
-
pull_request:
|
|
184
|
-
branches: [${defaultBranch}]
|
|
185
|
-
|
|
186
|
-
concurrency:
|
|
187
|
-
group: \${{ github.workflow }}-\${{ github.ref }}
|
|
188
|
-
cancel-in-progress: true
|
|
189
|
-
|
|
190
|
-
permissions:
|
|
191
|
-
contents: read
|
|
192
|
-
|
|
193
|
-
jobs:
|
|
194
|
-
build:
|
|
195
|
-
runs-on: ubuntu-latest
|
|
196
|
-
timeout-minutes: 15
|
|
197
|
-
|
|
198
|
-
steps:
|
|
199
|
-
- name: Checkout
|
|
200
|
-
uses: actions/checkout@v4
|
|
201
|
-
${setupPm}${setupNode}${setupBun}
|
|
202
|
-
- name: Install dependencies
|
|
203
|
-
run: ${install}
|
|
204
|
-
|
|
205
|
-
- name: Build
|
|
206
|
-
run: ${run} build
|
|
207
|
-
${lintStep}${typeCheckStep}${testStep}
|
|
175
|
+
return `# CI pipeline — generated by moflo (https://github.com/eric-cielo/moflo)
|
|
176
|
+
# Runs on every push to ${defaultBranch} and on all pull requests.
|
|
177
|
+
|
|
178
|
+
name: CI
|
|
179
|
+
|
|
180
|
+
on:
|
|
181
|
+
push:
|
|
182
|
+
branches: [${defaultBranch}]
|
|
183
|
+
pull_request:
|
|
184
|
+
branches: [${defaultBranch}]
|
|
185
|
+
|
|
186
|
+
concurrency:
|
|
187
|
+
group: \${{ github.workflow }}-\${{ github.ref }}
|
|
188
|
+
cancel-in-progress: true
|
|
189
|
+
|
|
190
|
+
permissions:
|
|
191
|
+
contents: read
|
|
192
|
+
|
|
193
|
+
jobs:
|
|
194
|
+
build:
|
|
195
|
+
runs-on: ubuntu-latest
|
|
196
|
+
timeout-minutes: 15
|
|
197
|
+
|
|
198
|
+
steps:
|
|
199
|
+
- name: Checkout
|
|
200
|
+
uses: actions/checkout@v4
|
|
201
|
+
${setupPm}${setupNode}${setupBun}
|
|
202
|
+
- name: Install dependencies
|
|
203
|
+
run: ${install}
|
|
204
|
+
|
|
205
|
+
- name: Build
|
|
206
|
+
run: ${run} build
|
|
207
|
+
${lintStep}${typeCheckStep}${testStep}
|
|
208
208
|
`;
|
|
209
209
|
}
|
|
210
210
|
// ============================================================================
|
|
@@ -50,96 +50,96 @@ function generateHiveMindPrompt(swarmId, swarmName, objective, workers, workerGr
|
|
|
50
50
|
const queenType = flags.queenType || 'strategic';
|
|
51
51
|
const consensusAlgorithm = flags.consensus || 'byzantine';
|
|
52
52
|
const topology = flags.topology || 'hierarchical-mesh';
|
|
53
|
-
return `🧠 HIVE MIND COLLECTIVE INTELLIGENCE SYSTEM
|
|
54
|
-
═══════════════════════════════════════════════
|
|
55
|
-
|
|
56
|
-
You are the Queen coordinator of a Hive Mind swarm with collective intelligence capabilities.
|
|
57
|
-
|
|
58
|
-
HIVE MIND CONFIGURATION:
|
|
59
|
-
📌 Swarm ID: ${swarmId}
|
|
60
|
-
📌 Swarm Name: ${swarmName}
|
|
61
|
-
🎯 Objective: ${objective}
|
|
62
|
-
👑 Queen Type: ${queenType}
|
|
63
|
-
🐝 Worker Count: ${workers.length}
|
|
64
|
-
🔗 Topology: ${topology}
|
|
65
|
-
🤝 Consensus Algorithm: ${consensusAlgorithm}
|
|
66
|
-
⏰ Initialized: ${currentTime}
|
|
67
|
-
|
|
68
|
-
WORKER DISTRIBUTION:
|
|
69
|
-
${workerTypes.map(type => `• ${type}: ${workerGroups[type].length} agents`).join('\n')}
|
|
70
|
-
|
|
71
|
-
🔧 AVAILABLE MCP TOOLS FOR HIVE MIND COORDINATION:
|
|
72
|
-
|
|
73
|
-
1️⃣ **COLLECTIVE INTELLIGENCE**
|
|
74
|
-
mcp__moflo__hive-mind_consensus - Democratic decision making
|
|
75
|
-
mcp__moflo__hive-mind_memory - Share knowledge across the hive
|
|
76
|
-
mcp__moflo__hive-mind_broadcast - Broadcast to all workers
|
|
77
|
-
mcp__moflo__neural_patterns - Neural pattern recognition
|
|
78
|
-
|
|
79
|
-
2️⃣ **QUEEN COORDINATION**
|
|
80
|
-
mcp__moflo__hive-mind_status - Monitor swarm health
|
|
81
|
-
mcp__moflo__task_create - Create and delegate tasks
|
|
82
|
-
mcp__moflo__task_orchestrate - Orchestrate task distribution
|
|
83
|
-
mcp__moflo__agent_spawn - Spawn additional workers
|
|
84
|
-
|
|
85
|
-
3️⃣ **WORKER MANAGEMENT**
|
|
86
|
-
mcp__moflo__agent_list - List all active agents
|
|
87
|
-
mcp__moflo__agent_status - Check agent status
|
|
88
|
-
mcp__moflo__agent_metrics - Track worker performance
|
|
89
|
-
mcp__moflo__hive-mind_join - Add agent to hive
|
|
90
|
-
mcp__moflo__hive-mind_leave - Remove agent from hive
|
|
91
|
-
|
|
92
|
-
4️⃣ **TASK ORCHESTRATION**
|
|
93
|
-
mcp__moflo__task_create - Create hierarchical tasks
|
|
94
|
-
mcp__moflo__task_status - Track task progress
|
|
95
|
-
mcp__moflo__task_complete - Mark tasks complete
|
|
96
|
-
mcp__moflo__workflow_create - Create workflows
|
|
97
|
-
|
|
98
|
-
5️⃣ **MEMORY & LEARNING**
|
|
99
|
-
mcp__moflo__memory_store - Store collective knowledge
|
|
100
|
-
mcp__moflo__memory_retrieve - Access shared memory
|
|
101
|
-
mcp__moflo__memory_search - Search memory patterns
|
|
102
|
-
mcp__moflo__neural_train - Learn from experiences
|
|
103
|
-
mcp__moflo__hooks_intelligence_pattern-store - Store patterns
|
|
104
|
-
|
|
105
|
-
📋 HIVE MIND EXECUTION PROTOCOL:
|
|
106
|
-
|
|
107
|
-
1. **INITIALIZATION PHASE**
|
|
108
|
-
- Verify all workers are online and responsive
|
|
109
|
-
- Establish communication channels
|
|
110
|
-
- Load previous session state if available
|
|
111
|
-
- Initialize shared memory space
|
|
112
|
-
|
|
113
|
-
2. **TASK DISTRIBUTION PHASE**
|
|
114
|
-
- Analyze the objective and decompose into subtasks
|
|
115
|
-
- Assign tasks based on worker specializations
|
|
116
|
-
- Set up task dependencies and ordering
|
|
117
|
-
- Monitor parallel execution
|
|
118
|
-
|
|
119
|
-
3. **COORDINATION PHASE**
|
|
120
|
-
- Use consensus for critical decisions
|
|
121
|
-
- Aggregate results from workers
|
|
122
|
-
- Resolve conflicts using ${consensusAlgorithm} consensus
|
|
123
|
-
- Share learnings across the hive
|
|
124
|
-
|
|
125
|
-
4. **COMPLETION PHASE**
|
|
126
|
-
- Verify all subtasks are complete
|
|
127
|
-
- Consolidate results
|
|
128
|
-
- Store learnings in collective memory
|
|
129
|
-
- Report final status
|
|
130
|
-
|
|
131
|
-
🎯 YOUR OBJECTIVE:
|
|
132
|
-
${objective}
|
|
133
|
-
|
|
134
|
-
💡 COORDINATION TIPS:
|
|
135
|
-
• Use mcp__moflo__hive-mind_broadcast for swarm-wide announcements
|
|
136
|
-
• Check worker status regularly with mcp__moflo__hive-mind_status
|
|
137
|
-
• Store important decisions in shared memory for persistence
|
|
138
|
-
• Use consensus for any decisions affecting multiple workers
|
|
139
|
-
• Monitor task progress and reassign if workers are blocked
|
|
140
|
-
|
|
141
|
-
🚀 BEGIN HIVE MIND COORDINATION NOW!
|
|
142
|
-
Start by checking the current hive status and then proceed with the objective.
|
|
53
|
+
return `🧠 HIVE MIND COLLECTIVE INTELLIGENCE SYSTEM
|
|
54
|
+
═══════════════════════════════════════════════
|
|
55
|
+
|
|
56
|
+
You are the Queen coordinator of a Hive Mind swarm with collective intelligence capabilities.
|
|
57
|
+
|
|
58
|
+
HIVE MIND CONFIGURATION:
|
|
59
|
+
📌 Swarm ID: ${swarmId}
|
|
60
|
+
📌 Swarm Name: ${swarmName}
|
|
61
|
+
🎯 Objective: ${objective}
|
|
62
|
+
👑 Queen Type: ${queenType}
|
|
63
|
+
🐝 Worker Count: ${workers.length}
|
|
64
|
+
🔗 Topology: ${topology}
|
|
65
|
+
🤝 Consensus Algorithm: ${consensusAlgorithm}
|
|
66
|
+
⏰ Initialized: ${currentTime}
|
|
67
|
+
|
|
68
|
+
WORKER DISTRIBUTION:
|
|
69
|
+
${workerTypes.map(type => `• ${type}: ${workerGroups[type].length} agents`).join('\n')}
|
|
70
|
+
|
|
71
|
+
🔧 AVAILABLE MCP TOOLS FOR HIVE MIND COORDINATION:
|
|
72
|
+
|
|
73
|
+
1️⃣ **COLLECTIVE INTELLIGENCE**
|
|
74
|
+
mcp__moflo__hive-mind_consensus - Democratic decision making
|
|
75
|
+
mcp__moflo__hive-mind_memory - Share knowledge across the hive
|
|
76
|
+
mcp__moflo__hive-mind_broadcast - Broadcast to all workers
|
|
77
|
+
mcp__moflo__neural_patterns - Neural pattern recognition
|
|
78
|
+
|
|
79
|
+
2️⃣ **QUEEN COORDINATION**
|
|
80
|
+
mcp__moflo__hive-mind_status - Monitor swarm health
|
|
81
|
+
mcp__moflo__task_create - Create and delegate tasks
|
|
82
|
+
mcp__moflo__task_orchestrate - Orchestrate task distribution
|
|
83
|
+
mcp__moflo__agent_spawn - Spawn additional workers
|
|
84
|
+
|
|
85
|
+
3️⃣ **WORKER MANAGEMENT**
|
|
86
|
+
mcp__moflo__agent_list - List all active agents
|
|
87
|
+
mcp__moflo__agent_status - Check agent status
|
|
88
|
+
mcp__moflo__agent_metrics - Track worker performance
|
|
89
|
+
mcp__moflo__hive-mind_join - Add agent to hive
|
|
90
|
+
mcp__moflo__hive-mind_leave - Remove agent from hive
|
|
91
|
+
|
|
92
|
+
4️⃣ **TASK ORCHESTRATION**
|
|
93
|
+
mcp__moflo__task_create - Create hierarchical tasks
|
|
94
|
+
mcp__moflo__task_status - Track task progress
|
|
95
|
+
mcp__moflo__task_complete - Mark tasks complete
|
|
96
|
+
mcp__moflo__workflow_create - Create workflows
|
|
97
|
+
|
|
98
|
+
5️⃣ **MEMORY & LEARNING**
|
|
99
|
+
mcp__moflo__memory_store - Store collective knowledge
|
|
100
|
+
mcp__moflo__memory_retrieve - Access shared memory
|
|
101
|
+
mcp__moflo__memory_search - Search memory patterns
|
|
102
|
+
mcp__moflo__neural_train - Learn from experiences
|
|
103
|
+
mcp__moflo__hooks_intelligence_pattern-store - Store patterns
|
|
104
|
+
|
|
105
|
+
📋 HIVE MIND EXECUTION PROTOCOL:
|
|
106
|
+
|
|
107
|
+
1. **INITIALIZATION PHASE**
|
|
108
|
+
- Verify all workers are online and responsive
|
|
109
|
+
- Establish communication channels
|
|
110
|
+
- Load previous session state if available
|
|
111
|
+
- Initialize shared memory space
|
|
112
|
+
|
|
113
|
+
2. **TASK DISTRIBUTION PHASE**
|
|
114
|
+
- Analyze the objective and decompose into subtasks
|
|
115
|
+
- Assign tasks based on worker specializations
|
|
116
|
+
- Set up task dependencies and ordering
|
|
117
|
+
- Monitor parallel execution
|
|
118
|
+
|
|
119
|
+
3. **COORDINATION PHASE**
|
|
120
|
+
- Use consensus for critical decisions
|
|
121
|
+
- Aggregate results from workers
|
|
122
|
+
- Resolve conflicts using ${consensusAlgorithm} consensus
|
|
123
|
+
- Share learnings across the hive
|
|
124
|
+
|
|
125
|
+
4. **COMPLETION PHASE**
|
|
126
|
+
- Verify all subtasks are complete
|
|
127
|
+
- Consolidate results
|
|
128
|
+
- Store learnings in collective memory
|
|
129
|
+
- Report final status
|
|
130
|
+
|
|
131
|
+
🎯 YOUR OBJECTIVE:
|
|
132
|
+
${objective}
|
|
133
|
+
|
|
134
|
+
💡 COORDINATION TIPS:
|
|
135
|
+
• Use mcp__moflo__hive-mind_broadcast for swarm-wide announcements
|
|
136
|
+
• Check worker status regularly with mcp__moflo__hive-mind_status
|
|
137
|
+
• Store important decisions in shared memory for persistence
|
|
138
|
+
• Use consensus for any decisions affecting multiple workers
|
|
139
|
+
• Monitor task progress and reassign if workers are blocked
|
|
140
|
+
|
|
141
|
+
🚀 BEGIN HIVE MIND COORDINATION NOW!
|
|
142
|
+
Start by checking the current hive status and then proceed with the objective.
|
|
143
143
|
`;
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
@@ -3156,15 +3156,15 @@ const tokenOptimizeCommand = {
|
|
|
3156
3156
|
const total = stats.cacheHits + stats.cacheMisses;
|
|
3157
3157
|
const hitRate = total > 0 ? (stats.cacheHits / total * 100).toFixed(1) : '0';
|
|
3158
3158
|
const savings = (stats.totalTokensSaved / 1000 * 0.01).toFixed(2);
|
|
3159
|
-
output.writeln(`## Token Optimization Report
|
|
3160
|
-
|
|
3161
|
-
| Metric | Value |
|
|
3162
|
-
|--------|-------|
|
|
3163
|
-
| Tokens Saved | ${stats.totalTokensSaved.toLocaleString()} |
|
|
3164
|
-
| Edits Optimized | ${stats.editsOptimized} |
|
|
3165
|
-
| Cache Hit Rate | ${hitRate}% |
|
|
3166
|
-
| Memories Retrieved | ${stats.memoriesRetrieved} |
|
|
3167
|
-
| Est. Monthly Savings | $${savings} |
|
|
3159
|
+
output.writeln(`## Token Optimization Report
|
|
3160
|
+
|
|
3161
|
+
| Metric | Value |
|
|
3162
|
+
|--------|-------|
|
|
3163
|
+
| Tokens Saved | ${stats.totalTokensSaved.toLocaleString()} |
|
|
3164
|
+
| Edits Optimized | ${stats.editsOptimized} |
|
|
3165
|
+
| Cache Hit Rate | ${hitRate}% |
|
|
3166
|
+
| Memories Retrieved | ${stats.memoriesRetrieved} |
|
|
3167
|
+
| Est. Monthly Savings | $${savings} |
|
|
3168
3168
|
| Agentic-Flow Active | ${agenticFlowAvailable ? '✓' : '✗'} |`);
|
|
3169
3169
|
}
|
|
3170
3170
|
return { success: true, data: { config, stats: { ...stats, agenticFlowAvailable } } };
|
|
@@ -46,20 +46,20 @@ function generateInsertSQL(entry) {
|
|
|
46
46
|
if (entry.embedding && Array.isArray(entry.embedding) && entry.embedding.length > 0) {
|
|
47
47
|
embeddingClause = formatEmbedding(entry.embedding);
|
|
48
48
|
}
|
|
49
|
-
return `INSERT INTO claude_flow.memory_entries (key, value, embedding, namespace, metadata, created_at, updated_at)
|
|
50
|
-
VALUES (
|
|
51
|
-
'${key}',
|
|
52
|
-
'${value}',
|
|
53
|
-
${embeddingClause},
|
|
54
|
-
'${namespace}',
|
|
55
|
-
'${metadata}'::jsonb,
|
|
56
|
-
${entry.created_at ? `'${entry.created_at}'::timestamptz` : 'NOW()'},
|
|
57
|
-
${entry.updated_at ? `'${entry.updated_at}'::timestamptz` : 'NOW()'}
|
|
58
|
-
)
|
|
59
|
-
ON CONFLICT (key, namespace) DO UPDATE SET
|
|
60
|
-
value = EXCLUDED.value,
|
|
61
|
-
embedding = COALESCE(EXCLUDED.embedding, claude_flow.memory_entries.embedding),
|
|
62
|
-
metadata = EXCLUDED.metadata,
|
|
49
|
+
return `INSERT INTO claude_flow.memory_entries (key, value, embedding, namespace, metadata, created_at, updated_at)
|
|
50
|
+
VALUES (
|
|
51
|
+
'${key}',
|
|
52
|
+
'${value}',
|
|
53
|
+
${embeddingClause},
|
|
54
|
+
'${namespace}',
|
|
55
|
+
'${metadata}'::jsonb,
|
|
56
|
+
${entry.created_at ? `'${entry.created_at}'::timestamptz` : 'NOW()'},
|
|
57
|
+
${entry.updated_at ? `'${entry.updated_at}'::timestamptz` : 'NOW()'}
|
|
58
|
+
)
|
|
59
|
+
ON CONFLICT (key, namespace) DO UPDATE SET
|
|
60
|
+
value = EXCLUDED.value,
|
|
61
|
+
embedding = COALESCE(EXCLUDED.embedding, claude_flow.memory_entries.embedding),
|
|
62
|
+
metadata = EXCLUDED.metadata,
|
|
63
63
|
updated_at = NOW();`;
|
|
64
64
|
}
|
|
65
65
|
/**
|