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.
Files changed (58) hide show
  1. package/.claude/skills/agentic-flow-quickstart/skill.md +6 -6
  2. package/.claude/skills/hooks-automation/skill.md +11 -11
  3. package/.claude/skills/memory-patterns/skill.md +7 -7
  4. package/.claude/skills/sparc-methodology/skill.md +13 -13
  5. package/.claude/skills/swarm-coordination/skill.md +5 -5
  6. package/.claude/skills/worker-benchmarks/skill.md +5 -5
  7. package/.claude/skills/worker-integration/skill.md +5 -5
  8. package/.claude/statusline.mjs +22 -5
  9. package/CHANGELOG.md +23 -0
  10. package/README.md +68 -71
  11. package/dist/.tsbuildinfo +1 -1
  12. package/dist/cli/commands/hooks.d.ts.map +1 -1
  13. package/dist/cli/commands/hooks.js +17 -17
  14. package/dist/cli/commands/hooks.js.map +1 -1
  15. package/dist/cli/commands/init.d.ts +2 -5
  16. package/dist/cli/commands/init.d.ts.map +1 -1
  17. package/dist/cli/commands/init.js +2 -15
  18. package/dist/cli/commands/init.js.map +1 -1
  19. package/dist/cli/commands/swarm.d.ts.map +1 -1
  20. package/dist/cli/commands/swarm.js +3 -2
  21. package/dist/cli/commands/swarm.js.map +1 -1
  22. package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -1
  23. package/dist/proxy/anthropic-to-gemini.js +10 -14
  24. package/dist/proxy/anthropic-to-gemini.js.map +1 -1
  25. package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -1
  26. package/dist/proxy/anthropic-to-openrouter.js +6 -25
  27. package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
  28. package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -1
  29. package/dist/proxy/anthropic-to-requesty.js +8 -10
  30. package/dist/proxy/anthropic-to-requesty.js.map +1 -1
  31. package/dist/proxy/sse-lines.d.ts +9 -0
  32. package/dist/proxy/sse-lines.d.ts.map +1 -0
  33. package/dist/proxy/sse-lines.js +37 -0
  34. package/dist/proxy/sse-lines.js.map +1 -0
  35. package/dist/reasoningbank/index.d.ts +2 -1
  36. package/dist/reasoningbank/index.d.ts.map +1 -1
  37. package/dist/reasoningbank/index.js +1 -1
  38. package/dist/reasoningbank/index.js.map +1 -1
  39. package/dist/reasoningbank/utils/embeddings.d.ts +17 -0
  40. package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
  41. package/dist/reasoningbank/utils/embeddings.js +48 -17
  42. package/dist/reasoningbank/utils/embeddings.js.map +1 -1
  43. package/dist/utils/package-version.d.ts +9 -0
  44. package/dist/utils/package-version.d.ts.map +1 -0
  45. package/dist/utils/package-version.js +39 -0
  46. package/dist/utils/package-version.js.map +1 -0
  47. package/docs/docker-tests/TEST-V1.7.8.Dockerfile +2 -2
  48. package/docs/docker-tests/TEST-V1.7.9-NODE20.Dockerfile +2 -2
  49. package/docs/docker-tests/TEST-V1.7.9.Dockerfile +2 -2
  50. package/docs/guides/CLAUDE-CODE-INTEGRATION.md +25 -8
  51. package/docs/guides/PROXY-ARCHITECTURE-AND-EXTENSION.md +22 -9
  52. package/docs/guides/STANDALONE_PROXY_GUIDE.md +16 -6
  53. package/docs/integrations/FASTMCP_CLI_INTEGRATION.md +1 -1
  54. package/docs/plans/requesty/02-architecture.md +5 -6
  55. package/docs/plans/requesty/03-implementation-phases.md +3 -4
  56. package/docs/plans/requesty/05-migration-guide.md +2 -2
  57. package/package.json +1 -1
  58. 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@alpha init
21
+ npx agentic-flow@3.1.0 init
22
22
 
23
23
  # Start MCP server for Claude Code
24
- npx agentic-flow@alpha mcp start
24
+ npx agentic-flow@3.1.0 mcp start
25
25
 
26
26
  # List available agents
27
- npx agentic-flow@alpha --list
27
+ npx agentic-flow@3.1.0 --list
28
28
 
29
29
  # Run a specific agent
30
- npx agentic-flow@alpha --agent coder --task "implement feature X"
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@alpha init` to set up project
67
- 2. Start MCP server with `npx agentic-flow@alpha mcp start`
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@alpha hooks pre-edit \"$TOOL_INPUT_file_path\""
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@alpha hooks pre-command \"$TOOL_INPUT_command\""
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@alpha hooks post-edit \"$TOOL_INPUT_file_path\" --success"
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@alpha hooks intelligence stats --json"
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@alpha hooks metrics --session --json"
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@alpha hooks pre-edit "src/api.ts"
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@alpha hooks post-edit "src/api.ts" --success
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@alpha hooks pre-command "npm install"
91
+ npx agentic-flow@3.1.0 hooks pre-command "npm install"
92
92
 
93
93
  # Post-command: Track result
94
- npx agentic-flow@alpha hooks post-command "npm install"
94
+ npx agentic-flow@3.1.0 hooks post-command "npm install"
95
95
 
96
96
  # Intelligence routing
97
- npx agentic-flow@alpha hooks route "implement OAuth"
97
+ npx agentic-flow@3.1.0 hooks route "implement OAuth"
98
98
 
99
99
  # Session metrics
100
- npx agentic-flow@alpha hooks metrics --session
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@alpha memory store "api:auth" "OAuth2 with JWT"
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@alpha memory get "api:auth"
25
+ npx agentic-flow@3.1.0 memory get "api:auth"
26
26
 
27
27
  # Search patterns
28
- npx agentic-flow@alpha memory search "authentication"
28
+ npx agentic-flow@3.1.0 memory search "authentication"
29
29
 
30
30
  # List all patterns
31
- npx agentic-flow@alpha memory list --namespace project
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@alpha memory store \
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@alpha memory store \
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@alpha memory store \
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@alpha sparc tdd "implement user authentication"
23
+ npx agentic-flow@3.1.0 sparc tdd "implement user authentication"
24
24
 
25
25
  # Run specific phase
26
- npx agentic-flow@alpha sparc run specification "auth system"
27
- npx agentic-flow@alpha sparc run pseudocode "auth system"
28
- npx agentic-flow@alpha sparc run architect "auth system"
29
- npx agentic-flow@alpha sparc run refinement "auth system"
30
- npx agentic-flow@alpha sparc run completion "auth system"
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@alpha sparc batch "spec-pseudocode,architect" "feature X"
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@alpha sparc run spec "user login feature"
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@alpha sparc run pseudo "auth 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@alpha sparc run arch "microservices layout"
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@alpha sparc run refine "auth module"
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@alpha sparc run complete "auth system"
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@alpha sparc tdd "implement OAuth2"
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@alpha swarm init --topology mesh --agents 5
22
+ npx agentic-flow@3.1.0 swarm init --topology mesh --agents 5
23
23
 
24
24
  # Spawn specialized agents
25
- npx agentic-flow@alpha swarm spawn --type researcher --name "Research Agent"
26
- npx agentic-flow@alpha swarm spawn --type coder --name "Code Agent"
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@alpha swarm orchestrate "Implement feature X with tests"
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@alpha swarm status
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
  ══════════════════════════════
@@ -3,7 +3,9 @@
3
3
  * Shows model, tokens, cost, swarm status, and memory usage
4
4
  */
5
5
 
6
- import { execSync } from 'child_process';
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 = execSync('npx agentic-flow@alpha mcp status 2>/dev/null || echo "idle"', {
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
- if (context.model) {
72
- const model = context.model
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).