agentic-flow 3.2.0 → 3.3.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/.agents/skills/agentic-flow-ecosystem/SKILL.md +6 -5
- package/.claude/skills/agentic-flow-ecosystem/skill.md +6 -5
- package/CHANGELOG.md +25 -0
- package/README.md +2 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/config/claudeFlow.d.ts +1 -1
- package/dist/integrations/index.d.ts +2 -2
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +1 -1
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/optional.d.ts +3 -15
- package/dist/integrations/optional.d.ts.map +1 -1
- package/dist/integrations/optional.js +4 -28
- package/dist/integrations/optional.js.map +1 -1
- package/dist/integrations/sublinear.d.ts +56 -28
- package/dist/integrations/sublinear.d.ts.map +1 -1
- package/dist/integrations/sublinear.js +165 -89
- package/dist/integrations/sublinear.js.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.js +4 -3
- package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
- package/dist/mcp/standalone-stdio.js +1 -1
- package/dist/mcp/standalone-stdio.js.map +1 -1
- package/dist/mcp/tools/ecosystem-tools.d.ts +4 -4
- package/dist/mcp/tools/ecosystem-tools.d.ts.map +1 -1
- package/dist/mcp/tools/ecosystem-tools.js +30 -8
- package/dist/mcp/tools/ecosystem-tools.js.map +1 -1
- package/dist/optimizations/configuration-tuning.d.ts +1 -1
- package/dist/services/sona-loader.d.ts +15 -1
- package/dist/services/sona-loader.d.ts.map +1 -1
- package/dist/services/sona-loader.js +54 -2
- package/dist/services/sona-loader.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agentic-flow-ecosystem
|
|
3
|
-
description: Use agentic-flow's optional ruvnet integrations - aidefence prompt-injection screening, @ruvector/mincut-wasm task partitioning, sublinear-
|
|
3
|
+
description: Use agentic-flow's optional ruvnet integrations - aidefence prompt-injection screening, @ruvector/mincut-wasm task partitioning, @ruvnet/sublinear-core PageRank, personalized PageRank and linear solves, agent-booster code edits, ONNX WASM embeddings and the native HNSW router. Use when splitting work between agent teams, ranking files or agents in a dependency graph, screening untrusted text for prompt injection, solving a linear system, or checking which integrations are installed.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# agentic-flow ecosystem integrations (Codex)
|
|
@@ -15,8 +15,8 @@ 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
|
-
| Rank agents, files or tasks by influence in a graph | `sublinear_pagerank` |
|
|
19
|
-
| Solve a diagonally dominant linear system | `sublinear_solve` |
|
|
18
|
+
| Rank agents, files or tasks by influence in a graph | `sublinear_pagerank` | `@ruvnet/sublinear-core` | Gauss-Seidel |
|
|
19
|
+
| Solve a diagonally dominant linear system | `sublinear_solve` | `@ruvnet/sublinear-core` | Gauss-Seidel |
|
|
20
20
|
| 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
21
|
| See which packages are installed | `ecosystem_status` | — | — |
|
|
22
22
|
|
|
@@ -35,8 +35,9 @@ All five computation tools are side-effect free and available under the default
|
|
|
35
35
|
|
|
36
36
|
## PageRank and linear solves
|
|
37
37
|
|
|
38
|
-
- `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.
|
|
39
|
-
- `
|
|
38
|
+
- `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`).
|
|
39
|
+
- Personalized: add `seeds: ["file-a"]` (or `{ "file-a": 2, "file-b": 1 }`) to rank what matters to those nodes, e.g. the files most relevant to the one being edited. On a large graph add `approximate: true, top: 10`: local forward push, whose work depends on `epsilon` (default 1e-6), not on the graph size; `residualMass` bounds the total L1 error and only the nodes it reached are returned (`top` caps them). `approximate` without `seeds` is rejected.
|
|
40
|
+
- `sublinear_solve({ matrix, vector, method })`: dense rows or `{ size, entries: [{ row, col, value }] }`; `method` defaults to `auto` (conjugate gradient for symmetric matrices with a positive diagonal, else Gauss-Seidel; also `jacobi`, `neumann`). Every answer is checked against its residual `max|Mx - b|`; if the core package's answer fails the check, Gauss-Seidel answers instead and `libraryRejected` says why. `converged: false` means no engine met the tolerance (usually: the matrix is not diagonally dominant).
|
|
40
41
|
- The bundled `sublinear/*` agents (matrix-optimizer, pagerank-analyzer, consensus-coordinator, performance-optimizer, trading-predictor) can use these two tools instead of a separate sublinear-time-solver MCP server.
|
|
41
42
|
|
|
42
43
|
## Embeddings and routing (library, no tool)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agentic-flow-ecosystem
|
|
3
|
-
description: Use agentic-flow's optional ruvnet integrations - aidefence prompt-injection screening, @ruvector/mincut-wasm task partitioning, sublinear-
|
|
3
|
+
description: Use agentic-flow's optional ruvnet integrations - aidefence prompt-injection screening, @ruvector/mincut-wasm task partitioning, @ruvnet/sublinear-core PageRank, personalized PageRank and linear solves, agent-booster code edits, ONNX WASM embeddings and the native HNSW router. Use when splitting work between agent teams, ranking files or agents in a dependency graph, screening untrusted text for prompt injection, solving a linear system, or checking which integrations are installed.
|
|
4
4
|
version: 1.0.0
|
|
5
5
|
invocable: true
|
|
6
6
|
author: agentic-flow
|
|
@@ -21,8 +21,8 @@ agentic-flow 3.2 ships in-process integrations with six optional ruvnet packages
|
|
|
21
21
|
|---|---|---|---|
|
|
22
22
|
| Is a prompt or retrieved text trying to hijack the agent? | `prompt_injection_scan` | `aidefence` | built-in patterns |
|
|
23
23
|
| 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) |
|
|
24
|
-
| Rank agents, files or tasks by influence in a graph | `sublinear_pagerank` |
|
|
25
|
-
| Solve a diagonally dominant linear system | `sublinear_solve` |
|
|
24
|
+
| Rank agents, files or tasks by influence in a graph | `sublinear_pagerank` | `@ruvnet/sublinear-core` | Gauss-Seidel |
|
|
25
|
+
| Solve a diagonally dominant linear system | `sublinear_solve` | `@ruvnet/sublinear-core` | Gauss-Seidel |
|
|
26
26
|
| 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
27
|
| See which packages are installed | `ecosystem_status` | — | — |
|
|
28
28
|
|
|
@@ -41,8 +41,9 @@ All five computation tools are side-effect free and available under the default
|
|
|
41
41
|
|
|
42
42
|
## PageRank and linear solves
|
|
43
43
|
|
|
44
|
-
- `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.
|
|
45
|
-
- `
|
|
44
|
+
- `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`).
|
|
45
|
+
- Personalized: add `seeds: ["file-a"]` (or `{ "file-a": 2, "file-b": 1 }`) to rank what matters to those nodes, e.g. the files most relevant to the one being edited. On a large graph add `approximate: true, top: 10`: local forward push, whose work depends on `epsilon` (default 1e-6), not on the graph size; `residualMass` bounds the total L1 error and only the nodes it reached are returned (`top` caps them). `approximate` without `seeds` is rejected.
|
|
46
|
+
- `sublinear_solve({ matrix, vector, method })`: dense rows or `{ size, entries: [{ row, col, value }] }`; `method` defaults to `auto` (conjugate gradient for symmetric matrices with a positive diagonal, else Gauss-Seidel; also `jacobi`, `neumann`). Every answer is checked against its residual `max|Mx - b|`; if the core package's answer fails the check, Gauss-Seidel answers instead and `libraryRejected` says why. `converged: false` means no engine met the tolerance (usually: the matrix is not diagonally dominant).
|
|
46
47
|
- The bundled `sublinear/*` agents (matrix-optimizer, pagerank-analyzer, consensus-coordinator, performance-optimizer, trading-predictor) can use these two tools instead of a separate sublinear-time-solver MCP server.
|
|
47
48
|
|
|
48
49
|
## Embeddings and routing (library, no tool)
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [3.3.0] - 2026-11-05
|
|
6
|
+
|
|
7
|
+
Replaces the optional `sublinear-time-solver` with its zero-dependency core, `@ruvnet/sublinear-core@^1.0.0`, and drops the workarounds 3.2.0 needed for sublinear-time-solver 1.7.2.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **`sublinear_pagerank`: personalized PageRank and forward-push top-k.** `seeds` (node ids, or `{ node: weight }`) ranks what matters to those nodes. `approximate: true` (needs `seeds`; `epsilon`, default 1e-6) runs local forward push, whose work depends on `epsilon` rather than the graph size; it returns only the nodes it reached (`top` caps them) and `residualMass`, an upper bound on the total L1 error. Results now carry `method` (`power-iteration`, `forward-push`, `gauss-seidel`) and `personalized`. `damping` is the probability of following an edge (restart probability r maps to `1 - r`).
|
|
11
|
+
- **`sublinear_solve`: `method`** (`auto` default — conjugate gradient for symmetric matrices with a positive diagonal, else Gauss-Seidel — or `gauss-seidel`, `conjugate-gradient`, `jacobi`, `neumann`). Results carry `method` and the real `iterations` (3.2.0 reported 0 for library answers).
|
|
12
|
+
- `agentic-flow/integrations` also exports `loadSublinearCore` and the `PageRankOptions`, `PageRankEdge`, `SolveMethod`, `SublinearEngine` types.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- `engine` in `sublinear_solve` / `sublinear_pagerank` results is `sublinear-core` (was `sublinear-time-solver`); `builtin` is unchanged. `ecosystem_status` lists `@ruvnet/sublinear-core`.
|
|
16
|
+
- Every library answer is still verified before it is returned: solves by `max|Mx - b|` recomputed here, PageRank by convergence and scores summing to 1 (forward push: estimates plus residual mass summing to 1). A failed check falls back to the built-in Gauss-Seidel and sets `libraryRejected`, as before.
|
|
17
|
+
|
|
18
|
+
### Security
|
|
19
|
+
- **`@ruvector/attention` `^0.1.4` → `^2.2.3`** ([GHSA-p62c-q7fc-qmg9](https://github.com/ruvnet/ruvector/security/advisories/GHSA-p62c-q7fc-qmg9)). The old range resolved 0.1.32, where a key/query length mismatch panicked in Rust and aborted Node (SIGABRT); 2.2.3 throws a catchable error. The runtime API is unchanged (same 39 exports and methods); outputs match 0.1.32 except float rounding (hyperbolic ≤ 1.4e-3, MoE ≤ 1e-6). `agentdb` and `ruvector` still declare `^0.1.x` and keep their own nested copy until they release the same bump.
|
|
20
|
+
- **`@ruvector/sona` `^0.1.4` → `^0.1.10`.** The old range resolved 0.1.8 in the lockfile, where JS input could abort Node — e.g. `applyMicroLora` / `applyBaseLora` with a vector that is not `hiddenDim` long; 0.1.9+ throws. SONA engines now come only from `sona-loader` (`RuVectorIntelligence` included), which also checks those lengths and throws a `RangeError`, so the error is the same even if an older nested copy is resolved.
|
|
21
|
+
|
|
22
|
+
### Removed
|
|
23
|
+
- The 1.7.2 workarounds: forward-push-only method selection, the solver-instance cache and WASM-probe settling, and the console-to-stderr redirection around the import (`withStdoutToStderr`, `importOptional`'s `quietStdout` option). The core prints nothing.
|
|
24
|
+
|
|
25
|
+
### Install size
|
|
26
|
+
Measured with `npm install agentic-flow@<version>` in an empty directory (Linux x64, Node 22):
|
|
27
|
+
- 3.2.0: 1,796,535,838 bytes (1.8 GB), 600 packages. 3.3.0: 1,795,364,813 bytes (1.8 GB), 597 packages — 1.2 MB and 3 packages (`sublinear-time-solver`, its `commander`, `temporal-lead-solver`) fewer.
|
|
28
|
+
- On its own, `sublinear-time-solver` installs 122 MB in 170 packages; `@ruvnet/sublinear-core` installs 220 kB in 1. In agentic-flow's tree nearly all of sublinear-time-solver's dependencies are shared with agentic-flow's own, so the "~115 MB" in the 3.2.0 notes below was its standalone cost, not what it added to an agentic-flow install.
|
|
29
|
+
|
|
5
30
|
## [3.2.0] - 2026-11-05
|
|
6
31
|
|
|
7
32
|
Wires in six optional ruvnet packages that were missing, undeclared or listed but unused. Each is an `optionalDependency` (installed by default), loaded lazily, with a built-in fallback, and each result reports which engine answered.
|
package/README.md
CHANGED
|
@@ -362,7 +362,7 @@ additionally needs the official `swebench` Docker harness — see
|
|
|
362
362
|
- **Performance**: `benchmark_run`, `bottleneck_analyze`, `token_usage`
|
|
363
363
|
- **And 200+ more tools!**
|
|
364
364
|
|
|
365
|
-
### 🔌 Ecosystem integrations (3.2.0)
|
|
365
|
+
### 🔌 Ecosystem integrations (3.2.0, solver core in 3.3.0)
|
|
366
366
|
|
|
367
367
|
Optional ruvnet packages, installed by default and loaded lazily, each with a built-in fallback (`npm install --omit=optional` skips them):
|
|
368
368
|
|
|
@@ -370,7 +370,7 @@ Optional ruvnet packages, installed by default and loaded lazily, each with a bu
|
|
|
370
370
|
|---|---|---|
|
|
371
371
|
| [`aidefence`](https://www.npmjs.com/package/aidefence) | prompt-injection screening of every routed task (`AGENTIC_FLOW_PROMPT_INJECTION`) | `prompt_injection_scan` |
|
|
372
372
|
| [`@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` |
|
|
373
|
-
| [
|
|
373
|
+
| [`@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
374
|
| [`agent-booster`](https://www.npmjs.com/package/agent-booster) | in-process code edits | `agent_booster_edit_file` (admin) |
|
|
375
375
|
| [`@ruvector/router`](https://www.npmjs.com/package/@ruvector/router) | native HNSW index for `SemanticRouter` | — |
|
|
376
376
|
| [`ruvector-onnx-embeddings-wasm`](https://www.npmjs.com/package/ruvector-onnx-embeddings-wasm) | all-MiniLM-L6-v2 embeddings for `AgentDBFast` | — |
|