agentic-flow 3.0.0 → 3.1.0
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/skills/agentic-flow-quickstart/skill.md +6 -6
- package/.claude/skills/hooks-automation/skill.md +11 -11
- package/.claude/skills/memory-patterns/skill.md +7 -7
- package/.claude/skills/sparc-methodology/skill.md +13 -13
- package/.claude/skills/swarm-coordination/skill.md +5 -5
- package/.claude/skills/worker-benchmarks/skill.md +5 -5
- package/.claude/skills/worker-integration/skill.md +5 -5
- package/.claude/statusline.mjs +22 -5
- package/CHANGELOG.md +23 -0
- package/README.md +68 -71
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/commands/hooks.d.ts.map +1 -1
- package/dist/cli/commands/hooks.js +17 -17
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/init.d.ts +2 -5
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +2 -15
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/swarm.d.ts.map +1 -1
- package/dist/cli/commands/swarm.js +3 -2
- package/dist/cli/commands/swarm.js.map +1 -1
- package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -1
- package/dist/proxy/anthropic-to-gemini.js +10 -14
- package/dist/proxy/anthropic-to-gemini.js.map +1 -1
- package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -1
- package/dist/proxy/anthropic-to-openrouter.js +6 -25
- package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
- package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -1
- package/dist/proxy/anthropic-to-requesty.js +8 -10
- package/dist/proxy/anthropic-to-requesty.js.map +1 -1
- package/dist/proxy/sse-lines.d.ts +9 -0
- package/dist/proxy/sse-lines.d.ts.map +1 -0
- package/dist/proxy/sse-lines.js +37 -0
- package/dist/proxy/sse-lines.js.map +1 -0
- package/dist/reasoningbank/index.d.ts +2 -1
- package/dist/reasoningbank/index.d.ts.map +1 -1
- package/dist/reasoningbank/index.js +1 -1
- package/dist/reasoningbank/index.js.map +1 -1
- package/dist/reasoningbank/utils/embeddings.d.ts +17 -0
- package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
- package/dist/reasoningbank/utils/embeddings.js +48 -17
- package/dist/reasoningbank/utils/embeddings.js.map +1 -1
- package/dist/utils/package-version.d.ts +9 -0
- package/dist/utils/package-version.d.ts.map +1 -0
- package/dist/utils/package-version.js +39 -0
- package/dist/utils/package-version.js.map +1 -0
- package/docs/docker-tests/TEST-V1.7.8.Dockerfile +2 -2
- package/docs/docker-tests/TEST-V1.7.9-NODE20.Dockerfile +2 -2
- package/docs/docker-tests/TEST-V1.7.9.Dockerfile +2 -2
- package/docs/guides/CLAUDE-CODE-INTEGRATION.md +25 -8
- package/docs/guides/PROXY-ARCHITECTURE-AND-EXTENSION.md +22 -9
- package/docs/guides/STANDALONE_PROXY_GUIDE.md +16 -6
- package/docs/integrations/FASTMCP_CLI_INTEGRATION.md +1 -1
- package/docs/plans/requesty/02-architecture.md +5 -6
- package/docs/plans/requesty/03-implementation-phases.md +3 -4
- package/docs/plans/requesty/05-migration-guide.md +2 -2
- package/package.json +1 -1
- package/scripts/validate-providers.sh +7 -4
|
@@ -18,16 +18,16 @@ Initialize and configure agentic-flow for optimal Claude Code integration.
|
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
# Initialize new project with agentic-flow
|
|
21
|
-
npx agentic-flow@
|
|
21
|
+
npx agentic-flow@3.1.0 init
|
|
22
22
|
|
|
23
23
|
# Start MCP server for Claude Code
|
|
24
|
-
npx agentic-flow@
|
|
24
|
+
npx agentic-flow@3.1.0 mcp start
|
|
25
25
|
|
|
26
26
|
# List available agents
|
|
27
|
-
npx agentic-flow@
|
|
27
|
+
npx agentic-flow@3.1.0 --list
|
|
28
28
|
|
|
29
29
|
# Run a specific agent
|
|
30
|
-
npx agentic-flow@
|
|
30
|
+
npx agentic-flow@3.1.0 --agent coder --task "implement feature X"
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## Features
|
|
@@ -63,7 +63,7 @@ Settings are stored in `.claude/settings.json`:
|
|
|
63
63
|
|
|
64
64
|
## Next Steps
|
|
65
65
|
|
|
66
|
-
1. Run `npx agentic-flow@
|
|
67
|
-
2. Start MCP server with `npx agentic-flow@
|
|
66
|
+
1. Run `npx agentic-flow@3.1.0 init` to set up project
|
|
67
|
+
2. Start MCP server with `npx agentic-flow@3.1.0 mcp start`
|
|
68
68
|
3. Use Claude Code's Task tool to spawn agents
|
|
69
69
|
4. Monitor via statusline and metrics
|
|
@@ -27,14 +27,14 @@ Triggered before Claude Code tools execute.
|
|
|
27
27
|
"matcher": "Edit|Write|MultiEdit",
|
|
28
28
|
"hooks": [{
|
|
29
29
|
"type": "command",
|
|
30
|
-
"command": "npx agentic-flow@
|
|
30
|
+
"command": "npx agentic-flow@3.1.0 hooks pre-edit \"$TOOL_INPUT_file_path\""
|
|
31
31
|
}]
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"matcher": "Bash",
|
|
35
35
|
"hooks": [{
|
|
36
36
|
"type": "command",
|
|
37
|
-
"command": "npx agentic-flow@
|
|
37
|
+
"command": "npx agentic-flow@3.1.0 hooks pre-command \"$TOOL_INPUT_command\""
|
|
38
38
|
}]
|
|
39
39
|
}
|
|
40
40
|
]
|
|
@@ -51,7 +51,7 @@ Triggered after successful tool execution.
|
|
|
51
51
|
"matcher": "Edit|Write|MultiEdit",
|
|
52
52
|
"hooks": [{
|
|
53
53
|
"type": "command",
|
|
54
|
-
"command": "npx agentic-flow@
|
|
54
|
+
"command": "npx agentic-flow@3.1.0 hooks post-edit \"$TOOL_INPUT_file_path\" --success"
|
|
55
55
|
}]
|
|
56
56
|
}
|
|
57
57
|
]
|
|
@@ -66,13 +66,13 @@ Triggered at session start/end.
|
|
|
66
66
|
"SessionStart": [{
|
|
67
67
|
"hooks": [{
|
|
68
68
|
"type": "command",
|
|
69
|
-
"command": "npx agentic-flow@
|
|
69
|
+
"command": "npx agentic-flow@3.1.0 hooks intelligence stats --json"
|
|
70
70
|
}]
|
|
71
71
|
}],
|
|
72
72
|
"SessionEnd": [{
|
|
73
73
|
"hooks": [{
|
|
74
74
|
"type": "command",
|
|
75
|
-
"command": "npx agentic-flow@
|
|
75
|
+
"command": "npx agentic-flow@3.1.0 hooks metrics --session --json"
|
|
76
76
|
}]
|
|
77
77
|
}]
|
|
78
78
|
}
|
|
@@ -82,22 +82,22 @@ Triggered at session start/end.
|
|
|
82
82
|
|
|
83
83
|
```bash
|
|
84
84
|
# Pre-edit: Check for patterns, validate
|
|
85
|
-
npx agentic-flow@
|
|
85
|
+
npx agentic-flow@3.1.0 hooks pre-edit "src/api.ts"
|
|
86
86
|
|
|
87
87
|
# Post-edit: Format, learn pattern
|
|
88
|
-
npx agentic-flow@
|
|
88
|
+
npx agentic-flow@3.1.0 hooks post-edit "src/api.ts" --success
|
|
89
89
|
|
|
90
90
|
# Pre-command: Validate safety
|
|
91
|
-
npx agentic-flow@
|
|
91
|
+
npx agentic-flow@3.1.0 hooks pre-command "npm install"
|
|
92
92
|
|
|
93
93
|
# Post-command: Track result
|
|
94
|
-
npx agentic-flow@
|
|
94
|
+
npx agentic-flow@3.1.0 hooks post-command "npm install"
|
|
95
95
|
|
|
96
96
|
# Intelligence routing
|
|
97
|
-
npx agentic-flow@
|
|
97
|
+
npx agentic-flow@3.1.0 hooks route "implement OAuth"
|
|
98
98
|
|
|
99
99
|
# Session metrics
|
|
100
|
-
npx agentic-flow@
|
|
100
|
+
npx agentic-flow@3.1.0 hooks metrics --session
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
## Automation Features
|
|
@@ -19,16 +19,16 @@ Implement persistent memory patterns for AI agents using ReasoningBank.
|
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
21
|
# Store a pattern
|
|
22
|
-
npx agentic-flow@
|
|
22
|
+
npx agentic-flow@3.1.0 memory store "api:auth" "OAuth2 with JWT"
|
|
23
23
|
|
|
24
24
|
# Retrieve a pattern
|
|
25
|
-
npx agentic-flow@
|
|
25
|
+
npx agentic-flow@3.1.0 memory get "api:auth"
|
|
26
26
|
|
|
27
27
|
# Search patterns
|
|
28
|
-
npx agentic-flow@
|
|
28
|
+
npx agentic-flow@3.1.0 memory search "authentication"
|
|
29
29
|
|
|
30
30
|
# List all patterns
|
|
31
|
-
npx agentic-flow@
|
|
31
|
+
npx agentic-flow@3.1.0 memory list --namespace project
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
## Memory Namespaces
|
|
@@ -46,7 +46,7 @@ npx agentic-flow@alpha memory list --namespace project
|
|
|
46
46
|
### Decision Patterns
|
|
47
47
|
```bash
|
|
48
48
|
# Store decision with context
|
|
49
|
-
npx agentic-flow@
|
|
49
|
+
npx agentic-flow@3.1.0 memory store \
|
|
50
50
|
"decisions:auth-method" \
|
|
51
51
|
'{"choice": "JWT", "reason": "stateless, scalable", "date": "2024-01-01"}'
|
|
52
52
|
```
|
|
@@ -54,7 +54,7 @@ npx agentic-flow@alpha memory store \
|
|
|
54
54
|
### Code Patterns
|
|
55
55
|
```bash
|
|
56
56
|
# Store reusable code pattern
|
|
57
|
-
npx agentic-flow@
|
|
57
|
+
npx agentic-flow@3.1.0 memory store \
|
|
58
58
|
"patterns:error-handling" \
|
|
59
59
|
"try-catch with custom error classes and logging"
|
|
60
60
|
```
|
|
@@ -62,7 +62,7 @@ npx agentic-flow@alpha memory store \
|
|
|
62
62
|
### Learning Patterns
|
|
63
63
|
```bash
|
|
64
64
|
# Store learning from successful task
|
|
65
|
-
npx agentic-flow@
|
|
65
|
+
npx agentic-flow@3.1.0 memory store \
|
|
66
66
|
"learnings:react-hooks" \
|
|
67
67
|
"useCallback for event handlers, useMemo for expensive computations"
|
|
68
68
|
```
|
|
@@ -20,17 +20,17 @@ Systematic Test-Driven Development using SPARC (Specification, Pseudocode, Archi
|
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
22
|
# Run complete TDD workflow
|
|
23
|
-
npx agentic-flow@
|
|
23
|
+
npx agentic-flow@3.1.0 sparc tdd "implement user authentication"
|
|
24
24
|
|
|
25
25
|
# Run specific phase
|
|
26
|
-
npx agentic-flow@
|
|
27
|
-
npx agentic-flow@
|
|
28
|
-
npx agentic-flow@
|
|
29
|
-
npx agentic-flow@
|
|
30
|
-
npx agentic-flow@
|
|
26
|
+
npx agentic-flow@3.1.0 sparc run specification "auth system"
|
|
27
|
+
npx agentic-flow@3.1.0 sparc run pseudocode "auth system"
|
|
28
|
+
npx agentic-flow@3.1.0 sparc run architect "auth system"
|
|
29
|
+
npx agentic-flow@3.1.0 sparc run refinement "auth system"
|
|
30
|
+
npx agentic-flow@3.1.0 sparc run completion "auth system"
|
|
31
31
|
|
|
32
32
|
# Batch execution
|
|
33
|
-
npx agentic-flow@
|
|
33
|
+
npx agentic-flow@3.1.0 sparc batch "spec-pseudocode,architect" "feature X"
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
## SPARC Phases
|
|
@@ -42,7 +42,7 @@ Define requirements and acceptance criteria.
|
|
|
42
42
|
**Output**: Requirements doc, test cases
|
|
43
43
|
**Command**:
|
|
44
44
|
```bash
|
|
45
|
-
npx agentic-flow@
|
|
45
|
+
npx agentic-flow@3.1.0 sparc run spec "user login feature"
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
### 2. Pseudocode (pseudo)
|
|
@@ -52,7 +52,7 @@ Design algorithms and logic flow.
|
|
|
52
52
|
**Output**: Algorithm design, flow diagrams
|
|
53
53
|
**Command**:
|
|
54
54
|
```bash
|
|
55
|
-
npx agentic-flow@
|
|
55
|
+
npx agentic-flow@3.1.0 sparc run pseudo "auth flow"
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
### 3. Architecture (arch)
|
|
@@ -62,7 +62,7 @@ System design and component structure.
|
|
|
62
62
|
**Output**: Component diagram, API design
|
|
63
63
|
**Command**:
|
|
64
64
|
```bash
|
|
65
|
-
npx agentic-flow@
|
|
65
|
+
npx agentic-flow@3.1.0 sparc run arch "microservices layout"
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
### 4. Refinement (refine)
|
|
@@ -72,7 +72,7 @@ Iterative TDD implementation.
|
|
|
72
72
|
**Output**: Tests + Implementation
|
|
73
73
|
**Command**:
|
|
74
74
|
```bash
|
|
75
|
-
npx agentic-flow@
|
|
75
|
+
npx agentic-flow@3.1.0 sparc run refine "auth module"
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
### 5. Completion (complete)
|
|
@@ -82,7 +82,7 @@ Integration and deployment.
|
|
|
82
82
|
**Output**: Integrated system, docs
|
|
83
83
|
**Command**:
|
|
84
84
|
```bash
|
|
85
|
-
npx agentic-flow@
|
|
85
|
+
npx agentic-flow@3.1.0 sparc run complete "auth system"
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
## SPARC Modes
|
|
@@ -104,7 +104,7 @@ Additional specialized modes:
|
|
|
104
104
|
|
|
105
105
|
```bash
|
|
106
106
|
# Full TDD cycle
|
|
107
|
-
npx agentic-flow@
|
|
107
|
+
npx agentic-flow@3.1.0 sparc tdd "implement OAuth2"
|
|
108
108
|
|
|
109
109
|
# This runs:
|
|
110
110
|
# 1. Specification: Define requirements
|
|
@@ -19,17 +19,17 @@ Coordinate multi-agent swarms for parallel task execution with intelligent topol
|
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
21
|
# Initialize a mesh swarm with 5 agents
|
|
22
|
-
npx agentic-flow@
|
|
22
|
+
npx agentic-flow@3.1.0 swarm init --topology mesh --agents 5
|
|
23
23
|
|
|
24
24
|
# Spawn specialized agents
|
|
25
|
-
npx agentic-flow@
|
|
26
|
-
npx agentic-flow@
|
|
25
|
+
npx agentic-flow@3.1.0 swarm spawn --type researcher --name "Research Agent"
|
|
26
|
+
npx agentic-flow@3.1.0 swarm spawn --type coder --name "Code Agent"
|
|
27
27
|
|
|
28
28
|
# Orchestrate a task
|
|
29
|
-
npx agentic-flow@
|
|
29
|
+
npx agentic-flow@3.1.0 swarm orchestrate "Implement feature X with tests"
|
|
30
30
|
|
|
31
31
|
# Check swarm status
|
|
32
|
-
npx agentic-flow@
|
|
32
|
+
npx agentic-flow@3.1.0 swarm status
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
## Topologies
|
|
@@ -18,13 +18,13 @@ Run comprehensive performance benchmarks for the agentic-flow worker system.
|
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
# Run full benchmark suite
|
|
21
|
-
npx agentic-flow workers benchmark
|
|
21
|
+
npx agentic-flow@3.1.0 workers benchmark
|
|
22
22
|
|
|
23
23
|
# Run specific benchmark
|
|
24
|
-
npx agentic-flow workers benchmark --type trigger-detection
|
|
25
|
-
npx agentic-flow workers benchmark --type registry
|
|
26
|
-
npx agentic-flow workers benchmark --type agent-selection
|
|
27
|
-
npx agentic-flow workers benchmark --type concurrent
|
|
24
|
+
npx agentic-flow@3.1.0 workers benchmark --type trigger-detection
|
|
25
|
+
npx agentic-flow@3.1.0 workers benchmark --type registry
|
|
26
|
+
npx agentic-flow@3.1.0 workers benchmark --type agent-selection
|
|
27
|
+
npx agentic-flow@3.1.0 workers benchmark --type concurrent
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
## Benchmark Types
|
|
@@ -19,14 +19,14 @@ Intelligent coordination between background workers and specialized agents.
|
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
21
|
# View agent recommendations for a trigger
|
|
22
|
-
npx agentic-flow workers agents ultralearn
|
|
23
|
-
npx agentic-flow workers agents optimize
|
|
22
|
+
npx agentic-flow@3.1.0 workers agents ultralearn
|
|
23
|
+
npx agentic-flow@3.1.0 workers agents optimize
|
|
24
24
|
|
|
25
25
|
# View performance metrics
|
|
26
|
-
npx agentic-flow workers metrics
|
|
26
|
+
npx agentic-flow@3.1.0 workers metrics
|
|
27
27
|
|
|
28
28
|
# View integration stats
|
|
29
|
-
npx agentic-flow workers stats --integration
|
|
29
|
+
npx agentic-flow@3.1.0 workers stats --integration
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## Agent Mappings
|
|
@@ -119,7 +119,7 @@ const { compliant, violations } = workerAgentIntegration.checkBenchmarkComplianc
|
|
|
119
119
|
## Integration Statistics
|
|
120
120
|
|
|
121
121
|
```bash
|
|
122
|
-
$ npx agentic-flow workers stats --integration
|
|
122
|
+
$ npx agentic-flow@3.1.0 workers stats --integration
|
|
123
123
|
|
|
124
124
|
Worker-Agent Integration Stats
|
|
125
125
|
══════════════════════════════
|
package/.claude/statusline.mjs
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* Shows model, tokens, cost, swarm status, and memory usage
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { execFileSync } from 'child_process';
|
|
7
|
+
import { existsSync } from 'fs';
|
|
8
|
+
import { join } from 'path';
|
|
7
9
|
|
|
8
10
|
// Cache for expensive operations
|
|
9
11
|
let lastSwarmCheck = 0;
|
|
@@ -19,10 +21,21 @@ function getSwarmStatus() {
|
|
|
19
21
|
return cachedSwarmStatus;
|
|
20
22
|
}
|
|
21
23
|
|
|
24
|
+
// Ask the project's own install only. `npx agentic-flow@<tag>` here ran
|
|
25
|
+
// whatever the tag pointed at (the deprecated alpha) on every refresh.
|
|
26
|
+
const bin = join(process.cwd(), 'node_modules', '.bin',
|
|
27
|
+
process.platform === 'win32' ? 'agentic-flow.cmd' : 'agentic-flow');
|
|
28
|
+
if (!existsSync(bin)) {
|
|
29
|
+
cachedSwarmStatus = '⚡';
|
|
30
|
+
lastSwarmCheck = now;
|
|
31
|
+
return cachedSwarmStatus;
|
|
32
|
+
}
|
|
33
|
+
|
|
22
34
|
try {
|
|
23
|
-
const result =
|
|
35
|
+
const result = execFileSync(bin, ['mcp', 'status'], {
|
|
24
36
|
encoding: 'utf-8',
|
|
25
|
-
timeout: 2000
|
|
37
|
+
timeout: 2000,
|
|
38
|
+
stdio: ['ignore', 'pipe', 'ignore']
|
|
26
39
|
}).trim();
|
|
27
40
|
|
|
28
41
|
cachedSwarmStatus = result.includes('running') ? '🐝' : '⚡';
|
|
@@ -68,8 +81,12 @@ export default function statusline(context) {
|
|
|
68
81
|
parts.push('🤖');
|
|
69
82
|
|
|
70
83
|
// Model name (shortened)
|
|
71
|
-
|
|
72
|
-
|
|
84
|
+
// Claude Code passes `model` as { id, display_name }; older callers pass a string.
|
|
85
|
+
const modelName = typeof context.model === 'string'
|
|
86
|
+
? context.model
|
|
87
|
+
: context.model?.display_name ?? context.model?.id;
|
|
88
|
+
if (typeof modelName === 'string' && modelName) {
|
|
89
|
+
const model = modelName
|
|
73
90
|
.replace('claude-', '')
|
|
74
91
|
.replace('-20250514', '')
|
|
75
92
|
.replace('sonnet-4', 'S4')
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [3.1.0] - 2026-10-31
|
|
6
|
+
|
|
7
|
+
Fixes two correctness bugs left after 3.0.0 and brings the docs in line with its proxy auth. See ADR-080.
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- **One embedding space per process (#246).** A failed model load used to be retried on the next call, so one process could hold hash-fallback vectors and model vectors side by side and compare them (cosine of the same text across the two was ~0.03). The first embedding now fixes the space:
|
|
11
|
+
- a failed load is **not retried automatically**; the process stays on hash vectors and `isSemanticEmbedding()` stays false;
|
|
12
|
+
- if the model fails on a text **after model vectors were produced**, `computeEmbedding`/`computeEmbeddingBatch` **throw** instead of returning a hash vector. `retrieveMemories` and `distillMemories` propagate that error;
|
|
13
|
+
- new `resetEmbeddingBackend()` clears the choice and the cache so the model is tried again (re-embed anything you kept); new `getEmbeddingKind()` returns `'local'`, `'hash'` or `null`.
|
|
14
|
+
|
|
15
|
+
### Security
|
|
16
|
+
- **`.claude/statusline.mjs` ran `npx agentic-flow@alpha mcp status` on every refresh**, which executes the deprecated March 3.0.0-alpha line (and its critical `protobufjs` advisory). It now asks only the project's own `node_modules/.bin/agentic-flow`, without a shell, and shows the idle marker when there is none.
|
|
17
|
+
- **`hooks init` pre-approved `Bash(npx:*)`, `Bash(npm run:*)` and the whole `agentic-flow`, `claude-flow` and `ruv-swarm` MCP servers**, so any package or tool ran without a prompt. It now allows only `Bash(agentic-flow:*)`, as `init` has since 3.0.0. Re-run `hooks init --force` in existing projects.
|
|
18
|
+
- **`hooks init` wrote unversioned `npx agentic-flow …` hooks**, which resolve to whatever `@latest` is that day. They now pin the installed version, as `init` has since 3.0.0. The `swarm` commands print a pinned `swarm connect` line instead of `@alpha`, and `scripts/validate-providers.sh`, the versioned `docs/docker-tests` Dockerfiles and the worker skills pin too. The version comes from a shared `src/utils/package-version.ts`, which throws instead of falling back to a tag.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- `.claude/statusline.mjs` no longer crashes when Claude Code passes `model` as `{ id, display_name }`; it shows `display_name ?? id` and still accepts a string.
|
|
22
|
+
- The Gemini and Requesty proxies' streams no longer drop an SSE line split across reads or corrupt a multibyte character split across chunks (3.0.0 fixed only OpenRouter). All three now share `src/proxy/sse-lines.ts`; the Gemini proxy also strips CR from its CRLF lines.
|
|
23
|
+
|
|
24
|
+
### Docs
|
|
25
|
+
- The proxy guides (`STANDALONE_PROXY_GUIDE`, `CLAUDE-CODE-INTEGRATION`, `PROXY-ARCHITECTURE-AND-EXTENSION`, both copies) and the shipped Requesty plans sent a dummy key that the 3.0.0 proxies reject. They now use the token the proxy prints and document `AGENTIC_FLOW_PROXY_TOKEN` and `AGENTIC_FLOW_PROXY_HOST`; the extension guide's template uses the `proxy-auth` helpers.
|
|
26
|
+
- The READMEs and the skills in `.claude/skills` ran `npx agentic-flow@alpha`, which resolves to the March 3.0.0-alpha line. They pin `agentic-flow@3.1.0`, and a test keeps that pin equal to the package version.
|
|
27
|
+
|
|
5
28
|
## [3.0.0] - 2026-10-31
|
|
6
29
|
|
|
7
30
|
First stable 3.x. It is the main line (2.1.5) plus a security and correctness review; it supersedes 3.0.0-alpha.1/.2, which were built from a different tree. Published without an alpha dist-tag (ruflo ADR-513/515).
|