moflo 4.5.0 → 4.6.1
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 +1 -1
- package/src/@claude-flow/cli/dist/src/commands/appliance.js +12 -12
- package/src/@claude-flow/cli/dist/src/commands/benchmark.js +2 -2
- package/src/@claude-flow/cli/dist/src/commands/claims.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/config.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/daemon.js +25 -3
- package/src/@claude-flow/cli/dist/src/commands/deployment.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/doctor.js +23 -6
- package/src/@claude-flow/cli/dist/src/commands/embeddings.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/hooks.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/init.js +14 -12
- package/src/@claude-flow/cli/dist/src/commands/neural.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/orc.d.ts +2 -2
- package/src/@claude-flow/cli/dist/src/commands/orc.js +12 -12
- package/src/@claude-flow/cli/dist/src/commands/performance.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/plugins.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/providers.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/security.js +1 -1
- package/src/@claude-flow/cli/dist/src/commands/start.js +11 -11
- package/src/@claude-flow/cli/dist/src/commands/status.js +3 -3
- package/src/@claude-flow/cli/dist/src/commands/transfer-store.js +1 -1
- package/src/@claude-flow/cli/dist/src/config/moflo-config.d.ts +30 -0
- package/src/@claude-flow/cli/dist/src/config/moflo-config.js +103 -7
- package/src/@claude-flow/cli/dist/src/index.d.ts +1 -1
- package/src/@claude-flow/cli/dist/src/index.js +3 -3
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.js +1 -1
- package/src/@claude-flow/cli/dist/src/init/executor.js +485 -472
- package/src/@claude-flow/cli/dist/src/init/helpers-generator.js +640 -640
- package/src/@claude-flow/cli/dist/src/init/moflo-init.js +530 -66
- package/src/@claude-flow/cli/dist/src/init/settings-generator.js +7 -12
- package/src/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +1 -1
- package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +784 -784
- package/src/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +12 -12
- package/src/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +122 -66
- package/src/@claude-flow/cli/dist/src/memory/intelligence.js +5 -1
- package/src/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +1 -1
- package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +371 -371
- package/src/@claude-flow/cli/dist/src/parser.d.ts +10 -0
- package/src/@claude-flow/cli/dist/src/parser.js +49 -3
- package/src/@claude-flow/cli/dist/src/plugins/store/discovery.js +1 -1
- package/src/@claude-flow/cli/dist/src/runtime/headless.js +30 -30
- package/src/@claude-flow/cli/dist/src/services/claim-service.js +1 -1
- package/src/@claude-flow/cli/dist/src/services/ruvector-training.js +11 -5
- package/src/@claude-flow/cli/dist/src/services/workflow-gate.d.ts +13 -3
- package/src/@claude-flow/cli/dist/src/services/workflow-gate.js +73 -5
- package/src/@claude-flow/cli/dist/src/types.d.ts +1 -1
- package/src/@claude-flow/cli/dist/src/types.js +1 -1
|
@@ -28,13 +28,43 @@ export interface MofloConfig {
|
|
|
28
28
|
};
|
|
29
29
|
hooks: {
|
|
30
30
|
pre_edit: boolean;
|
|
31
|
+
post_edit: boolean;
|
|
32
|
+
pre_task: boolean;
|
|
33
|
+
post_task: boolean;
|
|
31
34
|
gate: boolean;
|
|
35
|
+
route: boolean;
|
|
32
36
|
stop_hook: boolean;
|
|
33
37
|
session_restore: boolean;
|
|
38
|
+
notification: boolean;
|
|
34
39
|
};
|
|
35
40
|
models: {
|
|
36
41
|
default: string;
|
|
42
|
+
research: string;
|
|
37
43
|
review: string;
|
|
44
|
+
test: string;
|
|
45
|
+
};
|
|
46
|
+
model_routing: {
|
|
47
|
+
enabled: boolean;
|
|
48
|
+
confidence_threshold: number;
|
|
49
|
+
cost_optimization: boolean;
|
|
50
|
+
circuit_breaker: boolean;
|
|
51
|
+
agent_overrides: Record<string, string>;
|
|
52
|
+
};
|
|
53
|
+
status_line: {
|
|
54
|
+
enabled: boolean;
|
|
55
|
+
branding: string;
|
|
56
|
+
show_git: boolean;
|
|
57
|
+
show_model: boolean;
|
|
58
|
+
show_session: boolean;
|
|
59
|
+
show_intelligence: boolean;
|
|
60
|
+
show_swarm: boolean;
|
|
61
|
+
show_hooks: boolean;
|
|
62
|
+
show_mcp: boolean;
|
|
63
|
+
show_security: boolean;
|
|
64
|
+
show_adrs: boolean;
|
|
65
|
+
show_agentdb: boolean;
|
|
66
|
+
show_tests: boolean;
|
|
67
|
+
mode: 'single-line' | 'dashboard';
|
|
38
68
|
};
|
|
39
69
|
}
|
|
40
70
|
/**
|
|
@@ -38,13 +38,43 @@ const DEFAULT_CONFIG = {
|
|
|
38
38
|
},
|
|
39
39
|
hooks: {
|
|
40
40
|
pre_edit: true,
|
|
41
|
+
post_edit: true,
|
|
42
|
+
pre_task: true,
|
|
43
|
+
post_task: true,
|
|
41
44
|
gate: true,
|
|
45
|
+
route: true,
|
|
42
46
|
stop_hook: true,
|
|
43
47
|
session_restore: true,
|
|
48
|
+
notification: true,
|
|
44
49
|
},
|
|
45
50
|
models: {
|
|
46
51
|
default: 'opus',
|
|
52
|
+
research: 'sonnet',
|
|
47
53
|
review: 'opus',
|
|
54
|
+
test: 'sonnet',
|
|
55
|
+
},
|
|
56
|
+
model_routing: {
|
|
57
|
+
enabled: false,
|
|
58
|
+
confidence_threshold: 0.85,
|
|
59
|
+
cost_optimization: true,
|
|
60
|
+
circuit_breaker: true,
|
|
61
|
+
agent_overrides: {},
|
|
62
|
+
},
|
|
63
|
+
status_line: {
|
|
64
|
+
enabled: true,
|
|
65
|
+
branding: 'Moflo V4',
|
|
66
|
+
show_git: true,
|
|
67
|
+
show_model: true,
|
|
68
|
+
show_session: true,
|
|
69
|
+
show_intelligence: true,
|
|
70
|
+
show_swarm: true,
|
|
71
|
+
show_hooks: true,
|
|
72
|
+
show_mcp: true,
|
|
73
|
+
show_security: true,
|
|
74
|
+
show_adrs: true,
|
|
75
|
+
show_agentdb: true,
|
|
76
|
+
show_tests: true,
|
|
77
|
+
mode: 'single-line',
|
|
48
78
|
},
|
|
49
79
|
};
|
|
50
80
|
// ============================================================================
|
|
@@ -98,13 +128,43 @@ function mergeConfig(raw, root) {
|
|
|
98
128
|
},
|
|
99
129
|
hooks: {
|
|
100
130
|
pre_edit: raw.hooks?.pre_edit ?? raw.hooks?.preEdit ?? DEFAULT_CONFIG.hooks.pre_edit,
|
|
131
|
+
post_edit: raw.hooks?.post_edit ?? raw.hooks?.postEdit ?? DEFAULT_CONFIG.hooks.post_edit,
|
|
132
|
+
pre_task: raw.hooks?.pre_task ?? raw.hooks?.preTask ?? DEFAULT_CONFIG.hooks.pre_task,
|
|
133
|
+
post_task: raw.hooks?.post_task ?? raw.hooks?.postTask ?? DEFAULT_CONFIG.hooks.post_task,
|
|
101
134
|
gate: raw.hooks?.gate ?? DEFAULT_CONFIG.hooks.gate,
|
|
135
|
+
route: raw.hooks?.route ?? DEFAULT_CONFIG.hooks.route,
|
|
102
136
|
stop_hook: raw.hooks?.stop_hook ?? raw.hooks?.stopHook ?? DEFAULT_CONFIG.hooks.stop_hook,
|
|
103
137
|
session_restore: raw.hooks?.session_restore ?? raw.hooks?.sessionRestore ?? DEFAULT_CONFIG.hooks.session_restore,
|
|
138
|
+
notification: raw.hooks?.notification ?? DEFAULT_CONFIG.hooks.notification,
|
|
104
139
|
},
|
|
105
140
|
models: {
|
|
106
141
|
default: raw.models?.default || DEFAULT_CONFIG.models.default,
|
|
142
|
+
research: raw.models?.research || DEFAULT_CONFIG.models.research,
|
|
107
143
|
review: raw.models?.review || DEFAULT_CONFIG.models.review,
|
|
144
|
+
test: raw.models?.test || DEFAULT_CONFIG.models.test,
|
|
145
|
+
},
|
|
146
|
+
model_routing: {
|
|
147
|
+
enabled: raw.model_routing?.enabled ?? raw.modelRouting?.enabled ?? DEFAULT_CONFIG.model_routing.enabled,
|
|
148
|
+
confidence_threshold: raw.model_routing?.confidence_threshold ?? raw.modelRouting?.confidenceThreshold ?? DEFAULT_CONFIG.model_routing.confidence_threshold,
|
|
149
|
+
cost_optimization: raw.model_routing?.cost_optimization ?? raw.modelRouting?.costOptimization ?? DEFAULT_CONFIG.model_routing.cost_optimization,
|
|
150
|
+
circuit_breaker: raw.model_routing?.circuit_breaker ?? raw.modelRouting?.circuitBreaker ?? DEFAULT_CONFIG.model_routing.circuit_breaker,
|
|
151
|
+
agent_overrides: raw.model_routing?.agent_overrides ?? raw.modelRouting?.agentOverrides ?? DEFAULT_CONFIG.model_routing.agent_overrides,
|
|
152
|
+
},
|
|
153
|
+
status_line: {
|
|
154
|
+
enabled: raw.status_line?.enabled ?? raw.statusLine?.enabled ?? DEFAULT_CONFIG.status_line.enabled,
|
|
155
|
+
branding: raw.status_line?.branding ?? raw.statusLine?.branding ?? DEFAULT_CONFIG.status_line.branding,
|
|
156
|
+
show_git: raw.status_line?.show_git ?? raw.statusLine?.showGit ?? DEFAULT_CONFIG.status_line.show_git,
|
|
157
|
+
show_model: raw.status_line?.show_model ?? raw.statusLine?.showModel ?? DEFAULT_CONFIG.status_line.show_model,
|
|
158
|
+
show_session: raw.status_line?.show_session ?? raw.statusLine?.showSession ?? DEFAULT_CONFIG.status_line.show_session,
|
|
159
|
+
show_intelligence: raw.status_line?.show_intelligence ?? raw.statusLine?.showIntelligence ?? DEFAULT_CONFIG.status_line.show_intelligence,
|
|
160
|
+
show_swarm: raw.status_line?.show_swarm ?? raw.statusLine?.showSwarm ?? DEFAULT_CONFIG.status_line.show_swarm,
|
|
161
|
+
show_hooks: raw.status_line?.show_hooks ?? raw.statusLine?.showHooks ?? DEFAULT_CONFIG.status_line.show_hooks,
|
|
162
|
+
show_mcp: raw.status_line?.show_mcp ?? raw.statusLine?.showMcp ?? DEFAULT_CONFIG.status_line.show_mcp,
|
|
163
|
+
show_security: raw.status_line?.show_security ?? raw.statusLine?.showSecurity ?? DEFAULT_CONFIG.status_line.show_security,
|
|
164
|
+
show_adrs: raw.status_line?.show_adrs ?? raw.statusLine?.showAdrs ?? DEFAULT_CONFIG.status_line.show_adrs,
|
|
165
|
+
show_agentdb: raw.status_line?.show_agentdb ?? raw.statusLine?.showAgentdb ?? DEFAULT_CONFIG.status_line.show_agentdb,
|
|
166
|
+
show_tests: raw.status_line?.show_tests ?? raw.statusLine?.showTests ?? DEFAULT_CONFIG.status_line.show_tests,
|
|
167
|
+
mode: raw.status_line?.mode ?? raw.statusLine?.mode ?? DEFAULT_CONFIG.status_line.mode,
|
|
108
168
|
},
|
|
109
169
|
};
|
|
110
170
|
}
|
|
@@ -206,17 +266,53 @@ memory:
|
|
|
206
266
|
embedding_model: Xenova/all-MiniLM-L6-v2
|
|
207
267
|
namespace: default
|
|
208
268
|
|
|
209
|
-
# Hook toggles
|
|
269
|
+
# Hook toggles (all on by default — disable to slim down)
|
|
210
270
|
hooks:
|
|
211
|
-
pre_edit: true # Track file edits
|
|
212
|
-
|
|
213
|
-
|
|
271
|
+
pre_edit: true # Track file edits for learning
|
|
272
|
+
post_edit: true # Record edit outcomes, train neural patterns
|
|
273
|
+
pre_task: true # Get agent routing before task spawn
|
|
274
|
+
post_task: true # Record task results for learning
|
|
275
|
+
gate: true # Workflow gate enforcement (memory-first, task-create-first)
|
|
276
|
+
route: true # Intelligent task routing on each prompt
|
|
277
|
+
stop_hook: true # Session-end persistence and metric export
|
|
214
278
|
session_restore: true # Restore session state on start
|
|
279
|
+
notification: true # Hook into Claude Code notifications
|
|
215
280
|
|
|
216
|
-
# Model preferences
|
|
281
|
+
# Model preferences (haiku, sonnet, opus)
|
|
217
282
|
models:
|
|
218
|
-
default: opus
|
|
219
|
-
|
|
283
|
+
default: opus # Model for general tasks
|
|
284
|
+
research: sonnet # Model for research/exploration agents
|
|
285
|
+
review: opus # Model for code review agents
|
|
286
|
+
test: sonnet # Model for test-writing agents
|
|
287
|
+
|
|
288
|
+
# Intelligent model routing (auto-selects haiku/sonnet/opus per task)
|
|
289
|
+
# When enabled, overrides the static model preferences above
|
|
290
|
+
# by analyzing task complexity and routing to the cheapest capable model.
|
|
291
|
+
model_routing:
|
|
292
|
+
enabled: false # Set to true to enable dynamic routing
|
|
293
|
+
confidence_threshold: 0.85 # Min confidence before escalating to a more capable model
|
|
294
|
+
cost_optimization: true # Prefer cheaper models when confidence is high
|
|
295
|
+
circuit_breaker: true # Penalize models that fail repeatedly
|
|
296
|
+
# agent_overrides:
|
|
297
|
+
# security-architect: opus # Always use opus for security
|
|
298
|
+
# researcher: sonnet # Pin research to sonnet
|
|
299
|
+
|
|
300
|
+
# Status line items (show/hide individual sections)
|
|
301
|
+
status_line:
|
|
302
|
+
enabled: true
|
|
303
|
+
branding: "Moflo V4" # Text shown in status bar
|
|
304
|
+
show_git: true # Git branch, changes, ahead/behind
|
|
305
|
+
show_model: true # Current model name
|
|
306
|
+
show_session: true # Session duration
|
|
307
|
+
show_intelligence: true # Intelligence % indicator
|
|
308
|
+
show_swarm: true # Active swarm agents count
|
|
309
|
+
show_hooks: true # Enabled hooks count
|
|
310
|
+
show_mcp: true # MCP server count
|
|
311
|
+
show_security: true # CVE/security status (dashboard only)
|
|
312
|
+
show_adrs: true # ADR compliance (dashboard only)
|
|
313
|
+
show_agentdb: true # AgentDB vectors/size (dashboard only)
|
|
314
|
+
show_tests: true # Test file count (dashboard only)
|
|
315
|
+
mode: single-line # single-line (default) or dashboard (multi-line)
|
|
220
316
|
`;
|
|
221
317
|
return config;
|
|
222
318
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* V3 CLI Main Entry Point
|
|
3
|
-
*
|
|
3
|
+
* MoFlo V4 CLI
|
|
4
4
|
*
|
|
5
5
|
* Created with ❤️ by motailz.com
|
|
6
6
|
*/
|
|
@@ -38,8 +38,8 @@ export class CLI {
|
|
|
38
38
|
output;
|
|
39
39
|
interactive;
|
|
40
40
|
constructor(options = {}) {
|
|
41
|
-
this.name = options.name || '
|
|
42
|
-
this.description = options.description || '
|
|
41
|
+
this.name = options.name || 'flo';
|
|
42
|
+
this.description = options.description || 'MoFlo V4 - AI Agent Orchestration for Claude Code';
|
|
43
43
|
this.version = options.version || VERSION;
|
|
44
44
|
this.parser = commandParser;
|
|
45
45
|
this.output = output;
|
|
@@ -463,7 +463,7 @@ const TEMPLATE_SECTIONS = {
|
|
|
463
463
|
export function generateClaudeMd(options, template) {
|
|
464
464
|
const tmpl = template ?? options.runtime.claudeMdTemplate ?? 'standard';
|
|
465
465
|
const sections = TEMPLATE_SECTIONS[tmpl] ?? TEMPLATE_SECTIONS.standard;
|
|
466
|
-
const header = `# Claude Code Configuration -
|
|
466
|
+
const header = `# Claude Code Configuration - MoFlo V4\n`;
|
|
467
467
|
const body = sections.map(fn => fn(options)).join('\n\n');
|
|
468
468
|
return `${header}\n${body}\n`;
|
|
469
469
|
}
|