ruflo 3.56.7 → 3.56.9

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/README.md CHANGED
@@ -49,6 +49,10 @@ npx -y ruflo@latest mcp start
49
49
 
50
50
  MCP exposes Ruflo tools to your client. The console and mods above are Claude Code integrations; hook support depends on the client.
51
51
 
52
+ <img src="docs/assets/readme/icons/terminal.svg" width="28" height="28" alt=""> **Prefer a plain terminal? Optional.** The console also runs on its own, with no Claude Code: `npx ruflo tui` (add `--plain` to print one frame for scripts). It shows Overview, Cost, Swarm, Events and Missions, plus an optional AI page. [Terminal UI guide](docs/USERGUIDE.md#terminal-ui-optional)
53
+
54
+ <p align="center"><img src="docs/assets/ruflo-tui-compact.svg" width="640" alt="Looping recording of the optional ruflo terminal UI cycling through Overview, Cost, Swarm, Events and Missions in a sample project"></p>
55
+
52
56
  [Compare install paths](#quick-start) · [Open the console](#console-walkthrough) · [User guide](docs/USERGUIDE.md)
53
57
 
54
58
  <div align="center">
@@ -116,9 +120,11 @@ User → Ruflo (CLI/MCP) → Router → Swarm → Agents → Memory → LLM prov
116
120
 
117
121
  <p align="center"><img src="docs/assets/readme/console.svg" alt="Mission control: inspect agent work" width="100%"></p>
118
122
 
119
- <p align="center"><img src="docs/assets/ruflo-console-workflows.svg" width="952" height="964" alt="An animated recording of the ruflo console inside Claude Code: the boot (the neon sign and every area checked), then the Workflows page on a sample run: phases and agents with model, tokens and time; drilling from a run into one agent's activity, log and result; search; failure triage; cost; replay and compare; the control tab with a confirm card; and the mission autopilot panel"></p>
123
+ <p align="center"><a href="https://raw.githubusercontent.com/ruvnet/ruflo/main/docs/assets/ruflo-console-theme-compact.svg"><img src="docs/assets/ruflo-console-theme-compact.svg" width="100%" alt="Ruflo Orbital theme: animated boot checks, block logo, menu icons, rotating globe, swarm routing, six color palettes and responsive Theme Studio"></a></p>
124
+
125
+ [Open animated demo](https://raw.githubusercontent.com/ruvnet/ruflo/main/docs/assets/ruflo-console-theme-compact.svg) · [Theme Studio guide](plugins/ruflo-console/README.md) · [Workflow demo](docs/assets/ruflo-console-workflows.svg)
120
126
 
121
- <img src="docs/assets/readme/console-icon-workflows.svg" width="28" height="28" alt=""> **Your agent cockpit.** Track workflows, agents, models, tokens and cost beside Claude Code. The animation shows startup checks and a **sample workflow**, not a live session.
127
+ <img src="docs/assets/readme/console-icon-workflows.svg" width="28" height="28" alt=""> **Your agent cockpit.** Track workflows, agents, models, tokens and cost beside Claude Code. The 38 second animation shows **Orbital and Theme Studio** through actual renderer frames, including boot checks, six palettes, customization, saved themes, JSON import and resizing. This compact 3.84 MB SVG retains all 456 frames. Native host and AI provider execution are not demonstrated.
122
128
 
123
129
  <img src="docs/assets/readme/console-icon-inspect.svg" width="28" height="28" alt=""> **Inspect any run.** Open agent logs and results, search, triage failures, replay and compare. Start with `npx ruflo init`, restart Claude Code, then `/ruflo`. [Full console tour](docs/assets/ruflo-console-walkthrough-wide.gif).
124
130
 
@@ -136,7 +142,7 @@ User → Ruflo (CLI/MCP) → Router → Swarm → Agents → Memory → LLM prov
136
142
  4. **Verify the result.** Check that Missions contains the goal and Overview records the action. Creating a mission does not mean the feature has been implemented.
137
143
  5. **Keep control.** **Take back control** pauses Claude's console tools. A later call should be refused until you restore control.
138
144
 
139
- **What the recording demonstrates:** a real Claude Haiku session with `write + auto`, mission creation, page navigation, a refused swarm stop, and control being taken back. The steps above use `ask` so you approve creation yourself. The separate workflow animation uses sample data; neither is evidence of completed swarm work or memory recall.
145
+ **What the recording demonstrates:** a real Claude Haiku session with `write + auto`, mission creation, page navigation, a refused swarm stop, and control being taken back. The steps above use `ask` so you approve creation yourself. The linked workflow animation uses sample data, while the theme demo replays renderer frames. Neither is evidence of completed swarm work or memory recall.
140
146
 
141
147
  [Implementation and recorded test findings](v3/docs/adr/ADR-444-claude-controls-the-console.md) · [Reproduction script](plugins/ruflo-console/scripts/e2e-control.sh)
142
148
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ruflo",
3
- "version": "3.56.7",
3
+ "version": "3.56.9",
4
4
  "description": "Ruflo - Enterprise AI agent orchestration platform. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
5
5
  "main": "bin/ruflo.js",
6
6
  "type": "module",
@@ -40,7 +40,7 @@
40
40
  "package:rvf": "bash src/scripts/package-rvf.sh"
41
41
  },
42
42
  "dependencies": {
43
- "@claude-flow/cli": "3.56.7"
43
+ "@claude-flow/cli": "3.56.9"
44
44
  },
45
45
  "optionalDependencies": {},
46
46
  "overrides": {
@@ -106,14 +106,18 @@ const TOOL_GROUPS = {
106
106
  source: "gemini-mcp",
107
107
  },
108
108
 
109
- // --- OpenAI Codex ---
109
+ // --- OpenAI Codex (MCP server mode removed from current CLI; #3509) ---
110
110
  codex: {
111
- enabled: process.env.MCP_GROUP_CODEX === "true",
112
- description: "OpenAI Codex coding agent — code generation and execution (requires OPENAI_API_KEY)",
111
+ enabled: false,
112
+ description: "Unavailable: Codex CLI has no MCP server mode. Use Codex dual-mode workers instead.",
113
113
  source: "codex",
114
114
  },
115
115
  };
116
116
 
117
+ if (process.env.MCP_GROUP_CODEX === "true") {
118
+ console.warn("[codex] Codex CLI has no MCP server mode; MCP_GROUP_CODEX is disabled. Use Codex dual-mode workers (codex exec) instead.");
119
+ }
120
+
117
121
  // =============================================================================
118
122
  // STDIO MCP CLIENT — Connects to external MCP servers via child process
119
123
  // =============================================================================
@@ -257,7 +261,6 @@ const BACKEND_DEFS = [
257
261
  { name: "agentic-flow", command: "npx", args: ["-y", "agentic-flow@alpha", "mcp", "start"], groups: ["agentic-flow"] },
258
262
  { name: "claude", command: "claude", args: ["mcp", "serve"], groups: ["claude-code"] },
259
263
  { name: "gemini-mcp", command: "npx", args: ["-y", "gemini-mcp-server"], groups: ["gemini"] },
260
- { name: "codex", command: "npx", args: ["-y", "@openai/codex", "mcp-server"], groups: ["codex"] },
261
264
  ];
262
265
 
263
266
  const mcpBackends = new Map();
@@ -602,19 +605,7 @@ Requires: GOOGLE_API_KEY environment variable (already set for Gemini models).
602
605
 
603
606
  codex: `# Codex Group
604
607
 
605
- OpenAI Codex coding agent.
606
-
607
- Requires: OPENAI_API_KEY environment variable (already set for OpenAI models).
608
-
609
- ## Capabilities
610
- - Code generation and execution
611
- - Code completion
612
- - Code explanation
613
-
614
- ## When to Use
615
- - Code generation tasks
616
- - Quick code completions
617
- - Code explanation and documentation`,
608
+ Unavailable: current Codex CLI has no MCP server mode (#3509). This group is disabled even if MCP_GROUP_CODEX=true, so it exposes no tools. Use the separate Codex dual-mode worker through codex exec. A future MCP adapter requires its own execution and security design.`,
618
609
  };
619
610
 
620
611
  if (topic === "tool" && toolName) {
@@ -1,4 +1,4 @@
1
- # ADR-034: Optional MCP Backends — Claude Code, Gemini, Codex
1
+ # ADR-034: Optional MCP Backends — Claude Code and Gemini
2
2
 
3
3
  **Status:** Accepted
4
4
  **Date:** 2026-03-05
@@ -16,7 +16,7 @@ These require their own API keys and have different resource profiles, so they s
16
16
 
17
17
  ## Decision
18
18
 
19
- Add three optional MCP backends that can be enabled via environment variables. Unlike ruvector/ruflo (enabled by default), these are **disabled by default** and require explicit API keys.
19
+ Claude Code and Gemini remain optional MCP backends. Codex was originally listed here, but current Codex CLI has no MCP server mode. As of #3509, the bridge leaves that group disabled and warns when `MCP_GROUP_CODEX=true` is requested. Ruflo's separate Codex dual-mode workers use `codex exec`; a future MCP adapter needs a separate execution and security design.
20
20
 
21
21
  ### Backend Configuration
22
22
 
@@ -26,7 +26,7 @@ Add three optional MCP backends that can be enabled via environment variables. U
26
26
  | ruflo | `ENABLE_RUFLO` | None | `npx ruflo mcp start` | **enabled** |
27
27
  | Claude Code | `ENABLE_CLAUDE_CODE` | `ANTHROPIC_API_KEY` | `claude mcp serve` | disabled |
28
28
  | Gemini MCP | `ENABLE_GEMINI_MCP` | `GOOGLE_API_KEY` | `npx gemini-mcp-server` | disabled |
29
- | Codex | `ENABLE_CODEX` | `OPENAI_API_KEY` | `npx @openai/codex mcp serve` | disabled |
29
+ | Codex | `MCP_GROUP_CODEX` | N/A | No supported MCP server mode | unavailable; opt-in warns |
30
30
 
31
31
  ### Architecture
32
32
 
@@ -37,7 +37,6 @@ ruvector__hooks_route → ruvector MCP
37
37
  ruflo__agent_spawn → ruflo MCP
38
38
  claude__Read → Claude Code MCP
39
39
  gemini__chat → Gemini MCP
40
- codex__execute → Codex MCP
41
40
  ```
42
41
 
43
42
  ```
@@ -52,10 +51,10 @@ codex__execute → Codex MCP
52
51
  │ └─────────────┘ └──────────────┘ │
53
52
  │ │
54
53
  │ Optional backends (API key required): │
55
- │ ┌──────────────┐ ┌───────────┐ ┌───────────────┐ │
56
- │ │ Claude Code │ │ Gemini │ │ OpenAI Codex │ │
57
- │ │ (opt-in) │ │ (opt-in) │ │ (opt-in) │ │
58
- │ └──────────────┘ └───────────┘ └───────────────┘ │
54
+ │ ┌──────────────┐ ┌───────────┐ │
55
+ │ │ Claude Code │ │ Gemini │ │
56
+ │ │ (opt-in) │ │ (opt-in) │ │
57
+ │ └──────────────┘ └───────────┘ │
59
58
  └───────────────────────────────────────────────────────┘
60
59
  ```
61
60
 
@@ -69,10 +68,10 @@ ANTHROPIC_API_KEY=sk-ant-...
69
68
  ENABLE_GEMINI_MCP=true
70
69
  GOOGLE_API_KEY=AIzaSy... # already set for Gemini models
71
70
 
72
- ENABLE_CODEX=true
73
- OPENAI_API_KEY=sk-... # already set for OpenAI models
74
71
  ```
75
72
 
73
+ `MCP_GROUP_CODEX=true` is not an enablement path: it produces an explicit warning and does not start a Codex child process.
74
+
76
75
  ### Security Considerations
77
76
 
78
77
  1. **API keys stay server-side** — keys are only in the bridge container's env vars, never exposed to the browser
@@ -88,14 +87,13 @@ OPENAI_API_KEY=sk-... # already set for OpenAI models
88
87
  | ruflo | ~50MB | Low | ~5s |
89
88
  | Claude Code | ~100MB | Medium | ~5s |
90
89
  | Gemini MCP | ~40MB | Low | ~4s |
91
- | Codex | ~80MB | Medium | ~5s |
92
90
 
93
- With all 5 backends enabled, the bridge container needs ~800MB memory.
91
+ Resource estimates for the remaining backends require current deployment measurement.
94
92
 
95
93
  ## Consequences
96
94
 
97
95
  ### Positive
98
- - Users can access Claude, Gemini, and Codex capabilities directly from HF Chat UI
96
+ - Users can access Claude and Gemini capabilities directly from HF Chat UI
99
97
  - Single `/mcp` endpoint — no client-side config changes
100
98
  - Opt-in model keeps default resource usage low
101
99
  - API keys shared with the chat proxy (no additional secrets needed for Gemini/OpenAI)
@@ -106,14 +106,18 @@ const TOOL_GROUPS = {
106
106
  source: "gemini-mcp",
107
107
  },
108
108
 
109
- // --- OpenAI Codex ---
109
+ // --- OpenAI Codex (MCP server mode removed from current CLI; #3509) ---
110
110
  codex: {
111
- enabled: process.env.MCP_GROUP_CODEX === "true",
112
- description: "OpenAI Codex coding agent — code generation and execution (requires OPENAI_API_KEY)",
111
+ enabled: false,
112
+ description: "Unavailable: Codex CLI has no MCP server mode. Use Codex dual-mode workers instead.",
113
113
  source: "codex",
114
114
  },
115
115
  };
116
116
 
117
+ if (process.env.MCP_GROUP_CODEX === "true") {
118
+ console.warn("[codex] Codex CLI has no MCP server mode; MCP_GROUP_CODEX is disabled. Use Codex dual-mode workers (codex exec) instead.");
119
+ }
120
+
117
121
  // =============================================================================
118
122
  // STDIO MCP CLIENT — Connects to external MCP servers via child process
119
123
  // =============================================================================
@@ -262,7 +266,6 @@ const BACKEND_DEFS = [
262
266
  { name: "agentic-flow", command: "npx", args: ["-y", "agentic-flow@alpha", "mcp", "start"], groups: ["agentic-flow"] },
263
267
  { name: "claude", command: "claude", args: ["mcp", "serve"], groups: ["claude-code"] },
264
268
  { name: "gemini-mcp", command: "npx", args: ["-y", "gemini-mcp-server"], groups: ["gemini"] },
265
- { name: "codex", command: "npx", args: ["-y", "@openai/codex", "mcp-server"], groups: ["codex"] },
266
269
  ];
267
270
 
268
271
  const mcpBackends = new Map();
@@ -607,19 +610,7 @@ Requires: GOOGLE_API_KEY environment variable (already set for Gemini models).
607
610
 
608
611
  codex: `# Codex Group
609
612
 
610
- OpenAI Codex coding agent.
611
-
612
- Requires: OPENAI_API_KEY environment variable (already set for OpenAI models).
613
-
614
- ## Capabilities
615
- - Code generation and execution
616
- - Code completion
617
- - Code explanation
618
-
619
- ## When to Use
620
- - Code generation tasks
621
- - Quick code completions
622
- - Code explanation and documentation`,
613
+ Unavailable: current Codex CLI has no MCP server mode (#3509). This group is disabled even if MCP_GROUP_CODEX=true, so it exposes no tools. Use the separate Codex dual-mode worker through codex exec. A future MCP adapter requires its own execution and security design.`,
623
614
  };
624
615
 
625
616
  if (topic === "tool" && toolName) {