agentic-flow 3.4.4 → 3.5.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/.agents/skills/agentic-flow-ecosystem/SKILL.md +6 -1
- package/.claude/skills/agentic-flow-ecosystem/skill.md +7 -1
- package/CHANGELOG.md +19 -0
- package/README.md +36 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/config/claudeFlow.d.ts +1 -1
- package/dist/core/attention-native.d.ts +45 -28
- package/dist/core/attention-native.d.ts.map +1 -1
- package/dist/core/attention-native.js +131 -84
- package/dist/core/attention-native.js.map +1 -1
- package/dist/integrations/index.d.ts +2 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +1 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/task-schedule.d.ts +51 -0
- package/dist/integrations/task-schedule.d.ts.map +1 -0
- package/dist/integrations/task-schedule.js +222 -0
- package/dist/integrations/task-schedule.js.map +1 -0
- package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
- package/dist/mcp/claudeFlowSdkServer.js +2 -1
- package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js +2 -1
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js.map +1 -1
- package/dist/mcp/fastmcp/servers/http-sse.d.ts.map +1 -1
- package/dist/mcp/fastmcp/servers/http-sse.js +2 -1
- package/dist/mcp/fastmcp/servers/http-sse.js.map +1 -1
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js +2 -1
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js.map +1 -1
- package/dist/mcp/fastmcp/servers/stdio-full.js +2 -1
- package/dist/mcp/fastmcp/servers/stdio-full.js.map +1 -1
- package/dist/mcp/mcp-policy.js +1 -1
- package/dist/mcp/mcp-policy.js.map +1 -1
- package/dist/mcp/standalone-stdio.js +2 -1
- package/dist/mcp/standalone-stdio.js.map +1 -1
- package/dist/mcp/tools/ecosystem-tools.d.ts +5 -1
- package/dist/mcp/tools/ecosystem-tools.d.ts.map +1 -1
- package/dist/mcp/tools/ecosystem-tools.js +30 -1
- package/dist/mcp/tools/ecosystem-tools.js.map +1 -1
- package/dist/optimizations/configuration-tuning.d.ts +1 -1
- package/dist/utils/package-version.d.ts +2 -0
- package/dist/utils/package-version.d.ts.map +1 -1
- package/dist/utils/package-version.js +4 -0
- package/dist/utils/package-version.js.map +1 -1
- package/package.json +17 -66
- package/dist/core/agentdb-wrapper.d.ts +0 -149
- package/dist/core/agentdb-wrapper.d.ts.map +0 -1
- package/dist/core/agentdb-wrapper.js +0 -394
- package/dist/core/agentdb-wrapper.js.map +0 -1
|
@@ -15,12 +15,13 @@ agentic-flow 3.2 ships in-process integrations with six optional ruvnet packages
|
|
|
15
15
|
|---|---|---|---|
|
|
16
16
|
| Is a prompt or retrieved text trying to hijack the agent? | `prompt_injection_scan` | `aidefence` | built-in patterns |
|
|
17
17
|
| Split a task-dependency graph between two agent teams | `swarm_partition_tasks` | `@ruvector/mincut-wasm` (Node >= 22) | Stoer-Wagner (exact, up to 400 tasks; always used on Node 20) |
|
|
18
|
+
| Order a task DAG into parallel waves and find the bottleneck chain | `swarm_schedule_tasks` | `@ruvector/rudag` | Kahn sort + longest path |
|
|
18
19
|
| Rank agents, files or tasks by influence in a graph | `sublinear_pagerank` | `@ruvnet/sublinear-core` | Gauss-Seidel |
|
|
19
20
|
| Solve a diagonally dominant linear system | `sublinear_solve` | `@ruvnet/sublinear-core` | Gauss-Seidel |
|
|
20
21
|
| Apply a code edit without an LLM round-trip | `agent_booster_edit_file`, `agent_booster_batch_edit` | `agent-booster` | `npx agent-booster@0.2.2` |
|
|
21
22
|
| See which packages are installed | `ecosystem_status` | — | — |
|
|
22
23
|
|
|
23
|
-
All
|
|
24
|
+
All six computation tools are side-effect free and available under the default `readonly` MCP profile. The `agent_booster_*` tools write files and need the `admin` profile.
|
|
24
25
|
|
|
25
26
|
## Prompt injection
|
|
26
27
|
|
|
@@ -33,6 +34,10 @@ All five computation tools are side-effect free and available under the default
|
|
|
33
34
|
|
|
34
35
|
`swarm_partition_tasks({ tasks, dependencies: [{ from, to, weight }] })` returns `groups` (two task lists), `cutEdges` (the dependencies the teams must coordinate on), `cutWeight` and `isolated` (tasks with no dependencies — schedule them anywhere). Weight is coupling strength (shared files, API contracts), default 1. The cut is the weakest seam, not a balanced split: one loosely attached task against the rest is a valid answer.
|
|
35
36
|
|
|
37
|
+
## Task scheduling
|
|
38
|
+
|
|
39
|
+
`swarm_schedule_tasks({ tasks: [{ id, cost }], dependencies: [{ from, to }] })` (`from` must finish before `to` starts) returns `order`, `waves` (tasks with the same earliest wave can go to separate agents at once), `earliestStart` per task, `criticalPath` (`tasks` and `cost`: the chain that bounds the run; only shortening it shortens the run), `totalCost` and `parallelism` (`totalCost / criticalPath.cost`, the speed-up ceiling from more agents). `cost` is any additive unit (minutes, tokens), default 1. A cycle is rejected with the cycle named. Use it after `swarm_partition_tasks` to order work inside each team.
|
|
40
|
+
|
|
36
41
|
## PageRank and linear solves
|
|
37
42
|
|
|
38
43
|
- `sublinear_pagerank({ edges: [{ from, to, weight }], damping: 0.85, top: 10 })`: scores sum to 1. Use it to find the most depended-on files or the agent whose output most others consume. `damping` is the probability of following an edge (a restart probability r maps to `1 - r`).
|
|
@@ -7,6 +7,7 @@ author: agentic-flow
|
|
|
7
7
|
capabilities:
|
|
8
8
|
- prompt_injection_screening
|
|
9
9
|
- task_partitioning
|
|
10
|
+
- task_scheduling
|
|
10
11
|
- graph_ranking
|
|
11
12
|
- linear_solves
|
|
12
13
|
---
|
|
@@ -21,12 +22,13 @@ agentic-flow 3.2 ships in-process integrations with six optional ruvnet packages
|
|
|
21
22
|
|---|---|---|---|
|
|
22
23
|
| Is a prompt or retrieved text trying to hijack the agent? | `prompt_injection_scan` | `aidefence` | built-in patterns |
|
|
23
24
|
| Split a task-dependency graph between two agent teams | `swarm_partition_tasks` | `@ruvector/mincut-wasm` (Node >= 22) | Stoer-Wagner (exact, up to 400 tasks; always used on Node 20) |
|
|
25
|
+
| Order a task DAG into parallel waves and find the bottleneck chain | `swarm_schedule_tasks` | `@ruvector/rudag` | Kahn sort + longest path |
|
|
24
26
|
| Rank agents, files or tasks by influence in a graph | `sublinear_pagerank` | `@ruvnet/sublinear-core` | Gauss-Seidel |
|
|
25
27
|
| Solve a diagonally dominant linear system | `sublinear_solve` | `@ruvnet/sublinear-core` | Gauss-Seidel |
|
|
26
28
|
| Apply a code edit without an LLM round-trip | `agent_booster_edit_file`, `agent_booster_batch_edit` | `agent-booster` | `npx agent-booster@0.2.2` |
|
|
27
29
|
| See which packages are installed | `ecosystem_status` | — | — |
|
|
28
30
|
|
|
29
|
-
All
|
|
31
|
+
All six computation tools are side-effect free and available under the default `readonly` MCP profile. The `agent_booster_*` tools write files and need the `admin` profile.
|
|
30
32
|
|
|
31
33
|
## Prompt injection
|
|
32
34
|
|
|
@@ -39,6 +41,10 @@ All five computation tools are side-effect free and available under the default
|
|
|
39
41
|
|
|
40
42
|
`swarm_partition_tasks({ tasks, dependencies: [{ from, to, weight }] })` returns `groups` (two task lists), `cutEdges` (the dependencies the teams must coordinate on), `cutWeight` and `isolated` (tasks with no dependencies — schedule them anywhere). Weight is coupling strength (shared files, API contracts), default 1. The cut is the weakest seam, not a balanced split: one loosely attached task against the rest is a valid answer.
|
|
41
43
|
|
|
44
|
+
## Task scheduling
|
|
45
|
+
|
|
46
|
+
`swarm_schedule_tasks({ tasks: [{ id, cost }], dependencies: [{ from, to }] })` (`from` must finish before `to` starts) returns `order`, `waves` (tasks with the same earliest wave can go to separate agents at once), `earliestStart` per task, `criticalPath` (`tasks` and `cost`: the chain that bounds the run; only shortening it shortens the run), `totalCost` and `parallelism` (`totalCost / criticalPath.cost`, the speed-up ceiling from more agents). `cost` is any additive unit (minutes, tokens), default 1. A cycle is rejected with the cycle named. Use it after `swarm_partition_tasks` to order work inside each team.
|
|
47
|
+
|
|
42
48
|
## PageRank and linear solves
|
|
43
49
|
|
|
44
50
|
- `sublinear_pagerank({ edges: [{ from, to, weight }], damping: 0.85, top: 10 })`: scores sum to 1. Use it to find the most depended-on files or the agent whose output most others consume. `damping` is the probability of following an edge (a restart probability r maps to `1 - r`).
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [3.5.1] - 2026-11-09
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **MCP servers report the real version.** `serverInfo.version` of the stdio server that `agentic-flow mcp` starts was a hard-coded `1.0.8`; the in-process SDK server and the FastMCP stdio/HTTP servers said `1.0.0`/`1.1.12`. All now read the installed package version (`mcpServerVersion()` in `src/utils/package-version.ts`). `tests/mcp/server-version.test.ts` starts the stdio server and checks the initialize response (red on 3.5.0: `1.0.8`, `1.0.0`).
|
|
9
|
+
- **`src/core/attention-native.ts` runs on @ruvector/attention 2.x.** Every class failed on 2.x: `FlashAttention(dim)`, `HyperbolicAttention(dim)` and `MoEAttention(dim)` did not construct (2.x needs a block size, a curvature and a `{ dim, numExperts, topK }` config), and `MultiHeadAttention`/`LinearAttention` passed flat arrays where 2.x takes key and value rows. The wrappers now use the 2.x shapes, accept one vector or a list of rows for keys and values, check dimensions, and honour the mask (MultiHead) and `topK` (MoE). `HyperbolicAttention.forward` returns the Poincare distance to the nearest key; `MoEAttention.forward` returns empty `expertWeights` (2.x does not expose them). `tests/integrations/attention-native-wrappers.test.ts` loads the real package and checks FlashAttention against exact softmax attention (7/8 fail on 3.5.0, 8/8 now). The live path (`RuVectorIntelligence`) was fixed in 3.3.1.
|
|
10
|
+
|
|
11
|
+
### Removed
|
|
12
|
+
- `src/core/agentdb-wrapper.ts` (and its README and two test files). It was not reachable through the package `exports` map and called a reflexion API agentdb never had (`controller.store` with raw vectors), so 8 of its unit tests and 15 of its 19 integration tests failed against agentdb 3.7. Use `AgentDBFast` or agentdb directly.
|
|
13
|
+
- `src/agentdb/tests/frontier-features.test.ts`: it tested the vendored, unshipped copy of agentdb's `CausalMemoryGraph`/`ExplainableRecall` (excluded from the build); 7 of its tests failed on behaviour agentdb itself has since changed or fixed (for example `INSERT OR IGNORE` for provenance sources).
|
|
14
|
+
|
|
15
|
+
## [3.5.0] - 2026-11-09
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **Task-graph scheduling: `swarm_schedule_tasks` MCP tool and `scheduleTaskGraph()` in `agentic-flow/integrations`.** Given tasks with costs and `{ from, to }` dependencies, returns a dependency-respecting `order`, parallel `waves` (tasks that can go to separate agents at once), `earliestStart` per task, the cost-weighted `criticalPath` (the chain that bounds the run), `totalCost` and `parallelism` (`totalCost / criticalPath.cost`). Dependency cycles are rejected with the cycle named. Complements `swarm_partition_tasks`: partition picks the seam between two teams, scheduling orders the work inside them. Admitted under the default `readonly` MCP profile (pure computation).
|
|
19
|
+
- `@ruvector/rudag` `^0.1.2` as an optionalDependency (Rust/WASM topological sort and critical path, MIT OR Apache-2.0, adds `idb`; 2 packages, no install scripts). Loaded lazily with `storage: null`, so it never touches IndexedDB or the filesystem. Without it a built-in Kahn sort + longest-path DP answers with the same result (`engine: 'builtin'`); `tests/integrations/task-schedule.test.ts` checks both engines against the real package and that they agree on a 300-task random DAG.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- Package metadata (ADR-356, folded in from #261): `homepage` is https://ruv.io, `repository.directory` is `agentic-flow`, 16 keywords, a shorter description. The README gains an animated flow diagram, a "Works with / Used by" section and a ruv.io footer.
|
|
23
|
+
|
|
5
24
|
## [3.4.4] - 2026-11-08
|
|
6
25
|
|
|
7
26
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# 🚀 Agentic-Flow v2 — the Agentic Meta-Harness
|
|
2
2
|
|
|
3
|
+
<!-- weaver:seo:flow:start -->
|
|
4
|
+

|
|
5
|
+
<!-- weaver:seo:flow:end -->
|
|
6
|
+
|
|
3
7
|
> **Freeze the model, evolve the harness.** Agentic-Flow is an open _agentic meta-harness_: a runtime whose product is the **harness around a model**, not the model. It routes each query to the cost-optimal model, evolves its own harness and autonomously repairs code, then orchestrates 66 self-learning agents, 213 MCP tools, and multi-agent swarms on top.
|
|
4
8
|
|
|
5
9
|
[](https://www.npmjs.com/package/agentic-flow)
|
|
@@ -370,12 +374,28 @@ Optional ruvnet packages, installed by default and loaded lazily, each with a bu
|
|
|
370
374
|
|---|---|---|
|
|
371
375
|
| [`aidefence`](https://www.npmjs.com/package/aidefence) | prompt-injection screening of every routed task (`AGENTIC_FLOW_PROMPT_INJECTION`) | `prompt_injection_scan` |
|
|
372
376
|
| [`@ruvector/mincut-wasm`](https://www.npmjs.com/package/@ruvector/mincut-wasm) | split a task-dependency graph between two agent teams (Node >= 22; built-in fallback on 20) | `swarm_partition_tasks` |
|
|
377
|
+
| [`@ruvector/rudag`](https://www.npmjs.com/package/@ruvector/rudag) | order a task DAG into parallel waves and find its critical path (3.5.0; Kahn + longest-path fallback) | `swarm_schedule_tasks` |
|
|
373
378
|
| [`@ruvnet/sublinear-core`](https://www.npmjs.com/package/@ruvnet/sublinear-core) | verified linear solves, PageRank, personalized PageRank and forward-push top-k (zero dependencies) | `sublinear_solve`, `sublinear_pagerank` |
|
|
374
379
|
| [`agent-booster`](https://www.npmjs.com/package/agent-booster) | in-process code edits | `agent_booster_edit_file` (admin) |
|
|
375
380
|
| [`@ruvector/router`](https://www.npmjs.com/package/@ruvector/router) | native HNSW index for `SemanticRouter` | — |
|
|
376
381
|
| [`ruvector-onnx-embeddings-wasm`](https://www.npmjs.com/package/ruvector-onnx-embeddings-wasm) | all-MiniLM-L6-v2 embeddings for `AgentDBFast` | — |
|
|
377
382
|
|
|
378
|
-
`ecosystem_status` reports what is installed; `import { partitionTaskGraph, pageRank, scanPromptInjection } from 'agentic-flow/integrations'` gives the same functions in code. Skills: `.claude/skills/agentic-flow-ecosystem` (Claude Code) and `.agents/skills/agentic-flow-ecosystem` (Codex), both installed by `agentic-flow init`.
|
|
383
|
+
`ecosystem_status` reports what is installed; `import { partitionTaskGraph, scheduleTaskGraph, pageRank, scanPromptInjection } from 'agentic-flow/integrations'` gives the same functions in code. Skills: `.claude/skills/agentic-flow-ecosystem` (Claude Code) and `.agents/skills/agentic-flow-ecosystem` (Codex), both installed by `agentic-flow init`.
|
|
384
|
+
|
|
385
|
+
**Schedule a swarm's tasks (3.5.0).** `from` must finish before `to` starts; `cost` is any additive unit (minutes, tokens), default 1. Tasks in the same wave can go to separate agents at once, and only shortening the critical path shortens the run:
|
|
386
|
+
|
|
387
|
+
```js
|
|
388
|
+
import { scheduleTaskGraph } from 'agentic-flow/integrations';
|
|
389
|
+
|
|
390
|
+
const s = await scheduleTaskGraph(
|
|
391
|
+
[{ id: 'design', cost: 5 }, { id: 'api', cost: 3 }, { id: 'impl', cost: 2 }, { id: 'review', cost: 1 }, { id: 'docs', cost: 1 }],
|
|
392
|
+
[{ from: 'design', to: 'impl' }, { from: 'api', to: 'impl' }, { from: 'impl', to: 'review' }, { from: 'api', to: 'docs' }],
|
|
393
|
+
);
|
|
394
|
+
console.log(s.engine, JSON.stringify(s.waves), JSON.stringify(s.criticalPath), s.parallelism);
|
|
395
|
+
// rudag [["design","api"],["impl","docs"],["review"]] {"tasks":["design","impl","review"],"cost":8} 1.5
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
The MCP tool `swarm_schedule_tasks` takes the same `{ tasks, dependencies }` and also returns `order`, `earliestStart` and `totalCost`. A dependency cycle is rejected with the cycle named. Without `@ruvector/rudag` the result is identical and `engine` is `builtin`.
|
|
379
399
|
|
|
380
400
|
### 🧩 Advanced Capabilities
|
|
381
401
|
|
|
@@ -2251,3 +2271,18 @@ npm install agentic-flow@3.2.0
|
|
|
2251
2271
|
**Grade: A+ (Perfect Integration)**
|
|
2252
2272
|
**Status: Production Ready**
|
|
2253
2273
|
**Last Updated: 2025-12-03**
|
|
2274
|
+
|
|
2275
|
+
<!-- weaver:seo:links:start -->
|
|
2276
|
+
## Works with / Used by
|
|
2277
|
+
|
|
2278
|
+
Part of the [ruv.io](https://ruv.io) open-source stack for AI agents, LLM routing, agent orchestration.
|
|
2279
|
+
|
|
2280
|
+
- **Works with** (its runtime dependencies): [`@metaharness/router`](https://www.npmjs.com/package/@metaharness/router), [`@ruvector/edge-full`](https://www.npmjs.com/package/@ruvector/edge-full), [`@ruvector/router`](https://www.npmjs.com/package/@ruvector/router), [`@ruvector/tiny-dancer`](https://www.npmjs.com/package/@ruvector/tiny-dancer), [`agentdb`](https://www.npmjs.com/package/agentdb), [`ruvector`](https://www.npmjs.com/package/ruvector), [`ruvector-onnx-embeddings-wasm`](https://www.npmjs.com/package/ruvector-onnx-embeddings-wasm), [`@ruvector/attention`](https://www.npmjs.com/package/@ruvector/attention), [`@ruvector/mincut-wasm`](https://www.npmjs.com/package/@ruvector/mincut-wasm), [`@ruvector/rudag`](https://www.npmjs.com/package/@ruvector/rudag), [`@ruvector/sona`](https://www.npmjs.com/package/@ruvector/sona), [`@ruvnet/sublinear-core`](https://www.npmjs.com/package/@ruvnet/sublinear-core), [`agent-booster`](https://www.npmjs.com/package/agent-booster), [`aidefence`](https://www.npmjs.com/package/aidefence)
|
|
2281
|
+
- **Used by** (published packages that depend on it): [`@agentic-robotics/cli`](https://www.npmjs.com/package/@agentic-robotics/cli), [`@agentic-robotics/mcp`](https://www.npmjs.com/package/@agentic-robotics/mcp), [`@agentic-robotics/self-learning`](https://www.npmjs.com/package/@agentic-robotics/self-learning), [`@claude-flow/browser`](https://www.npmjs.com/package/@claude-flow/browser), [`@claude-flow/cli`](https://www.npmjs.com/package/@claude-flow/cli), [`@claude-flow/embeddings`](https://www.npmjs.com/package/@claude-flow/embeddings), [`@claude-flow/integration`](https://www.npmjs.com/package/@claude-flow/integration), [`@claude-flow/plugin-agent-federation`](https://www.npmjs.com/package/@claude-flow/plugin-agent-federation), [`@foxruv/e2b-runner`](https://www.npmjs.com/package/@foxruv/e2b-runner), [`@foxruv/iris`](https://www.npmjs.com/package/@foxruv/iris), [`@foxruv/iris-ultrathink`](https://www.npmjs.com/package/@foxruv/iris-ultrathink), [`@foxruv/nova-medicina`](https://www.npmjs.com/package/@foxruv/nova-medicina)
|
|
2282
|
+
<!-- weaver:seo:links:end -->
|
|
2283
|
+
|
|
2284
|
+
<!-- weaver:seo:footer:start -->
|
|
2285
|
+
---
|
|
2286
|
+
|
|
2287
|
+
Built by [rUv](https://ruv.io) · [ruv.io](https://ruv.io) · [Source](https://github.com/ruvnet/agentic-flow)
|
|
2288
|
+
<!-- weaver:seo:footer:end -->
|