weavatrix 1.17.8 → 1.17.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
@@ -28,7 +28,7 @@ It does not answer from a larger grep or an invented confidence score. Every
28
28
  bounded result can carry the repository revision, file, line, extractor,
29
29
  evidence kind, and confidence that produced it. `search_code` keeps a
30
30
  resident content index for the process: the first search builds it, and
31
- later searches read it. A `glob` still walks files.
31
+ later searches read it. A `glob` filters that index. The filesystem is scanned only when the widened search is truncated and the filter kept fewer hits than requested.
32
32
 
33
33
  This npm package is the convenient **prebuilt native tarball**. That is the
34
34
  only reason it exists on npm. It is not a TypeScript rewrite, not a Serena
@@ -60,7 +60,7 @@ weavatrix mcp .
60
60
  ```toml
61
61
  [mcp_servers.weavatrix]
62
62
  command = "npx"
63
- args = ["-y", "weavatrix@1.17.8", "mcp", "."]
63
+ args = ["-y", "weavatrix@1.17.9", "mcp", "."]
64
64
  ```
65
65
 
66
66
  Pass an absolute repository path when the Codex process cwd is not the project
@@ -69,7 +69,7 @@ you intend to analyze.
69
69
  ### Claude Code
70
70
 
71
71
  ```sh
72
- claude mcp add weavatrix -- npx -y weavatrix@1.17.8 mcp .
72
+ claude mcp add weavatrix -- npx -y weavatrix@1.17.9 mcp .
73
73
  ```
74
74
 
75
75
  ### Cursor
@@ -82,7 +82,7 @@ the plugin for the same server name:
82
82
  "mcpServers": {
83
83
  "weavatrix": {
84
84
  "command": "npx",
85
- "args": ["-y", "weavatrix@1.17.8", "mcp", "${workspaceFolder}", "--output-format=structured"]
85
+ "args": ["-y", "weavatrix@1.17.9", "mcp", "${workspaceFolder}", "--output-format=structured"]
86
86
  }
87
87
  }
88
88
  }
@@ -91,14 +91,14 @@ the plugin for the same server name:
91
91
  Profiles expose bounded views of the same engine:
92
92
 
93
93
  ```sh
94
- npx -y weavatrix@1.17.8 mcp . --profile=all
95
- npx -y weavatrix@1.17.8 mcp . --profile=code
96
- npx -y weavatrix@1.17.8 mcp . --profile=seo
97
- npx -y weavatrix@1.17.8 mcp . --profile=n8n
98
- npx -y weavatrix@1.17.8 mcp . --profile=dify
99
- npx -y weavatrix@1.17.8 mcp . --profile=agent
100
- npx -y weavatrix@1.17.8 mcp . --profile=diagram
101
- npx -y weavatrix@1.17.8 mcp . --profile=web3
94
+ npx -y weavatrix@1.17.9 mcp . --profile=all
95
+ npx -y weavatrix@1.17.9 mcp . --profile=code
96
+ npx -y weavatrix@1.17.9 mcp . --profile=seo
97
+ npx -y weavatrix@1.17.9 mcp . --profile=n8n
98
+ npx -y weavatrix@1.17.9 mcp . --profile=dify
99
+ npx -y weavatrix@1.17.9 mcp . --profile=agent
100
+ npx -y weavatrix@1.17.9 mcp . --profile=diagram
101
+ npx -y weavatrix@1.17.9 mcp . --profile=web3
102
102
  ```
103
103
 
104
104
  The package contains native binaries for Windows x64/arm64, macOS x64/arm64,
@@ -329,11 +329,11 @@ coding agent
329
329
  |
330
330
  | MCP over stdio
331
331
  v
332
- weavatrix 1.17.8
332
+ weavatrix 1.17.9
333
333
  profile catalog · refresh · watcher · MCP framing
334
334
  |
335
335
  v
336
- weavatrix-rust 2.17.8
336
+ weavatrix-rust 2.17.9
337
337
  typed graph · analysis · 65 product operations including local CI, n8n, Dify, agent packages, Mermaid, and Web3
338
338
  ```
339
339
 
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weavatrix",
3
- "version": "1.17.8",
4
- "weavatrixEngineVersion": "2.17.8",
3
+ "version": "1.17.9",
4
+ "weavatrixEngineVersion": "2.17.9",
5
5
  "description": "Native repository intelligence for coding agents: 65 read-only MCP operations backed by typed evidence graphs, impact, architecture, local CI restrictions, APIs, Git, search, semantic links, n8n workflows, Dify apps, agent packages, Mermaid diagrams, and Web3 ABIs.",
6
6
  "author": "Sergii Ziborov <sergii.ziborov@gmail.com>",
7
7
  "license": "MIT",
package/server.json CHANGED
@@ -7,14 +7,14 @@
7
7
  "url": "https://github.com/Weavatrix/weavatrix",
8
8
  "source": "github"
9
9
  },
10
- "version": "1.17.8",
10
+ "version": "1.17.9",
11
11
  "websiteUrl": "https://weavatrix.com",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "registryBaseUrl": "https://registry.npmjs.org",
16
16
  "identifier": "weavatrix",
17
- "version": "1.17.8",
17
+ "version": "1.17.9",
18
18
  "runtimeHint": "npx",
19
19
  "transport": {
20
20
  "type": "stdio"
@@ -10,9 +10,9 @@ cannot silently switch to another repository. Pass an explicit
10
10
 
11
11
  ## Graph, source, and orientation
12
12
 
13
- - [`graph_stats`](tools/graph_stats.md) — Graph size, evidence and build freshness.
13
+ - [`graph_stats`](tools/graph_stats.md) — Graph size, edge evidence and build freshness of the loaded snapshot.
14
14
  - [`get_node`](tools/get_node.md) — Resolve one exact graph node.
15
- - [`get_neighbors`](tools/get_neighbors.md) — Direct typed incoming and outgoing relationships.
15
+ - [`get_neighbors`](tools/get_neighbors.md) — Direct typed incoming and outgoing relationships. The seed is compact unless `response_detail` is `full`.
16
16
  - [`query_graph`](tools/query_graph.md) — Bounded BFS or DFS around exact or textual seeds.
17
17
  - [`god_nodes`](tools/god_nodes.md) — Rank high-connectivity production nodes.
18
18
  - [`shortest_path`](tools/shortest_path.md) — Shortest typed dependency path between two nodes.
@@ -20,18 +20,18 @@ cannot silently switch to another repository. Pass an explicit
20
20
  - [`list_communities`](tools/list_communities.md) — List deterministic coupling communities (containment and package edges excluded).
21
21
  - [`module_map`](tools/module_map.md) — Production folder map at a requested directory depth.
22
22
  - [`build_graph`](tools/build_graph.md) — Typed workspace, target, configuration, task, and runner topology from captured manifest evidence.
23
- - [`search_code`](tools/search_code.md) — Literal or Rust-regex search on the resident content index. A glob still walks files.
23
+ - [`search_code`](tools/search_code.md) — Literal or Rust-regex search on the resident content index. A glob filters that index.
24
24
  - [`read_source`](tools/read_source.md) — Bounded source context by node or repository path.
25
25
  - [`inspect_symbol`](tools/inspect_symbol.md) — Definition, direct relationships and source evidence.
26
- - [`go_to_definition`](tools/go_to_definition.md) — Resolve the symbol at a source position to its definition without guessing by name.
27
- - [`find_references`](tools/find_references.md) — Occurrences of the symbol at a position or label, from the graph and an on-disk SCIP index if present.
26
+ - [`go_to_definition`](tools/go_to_definition.md) — Resolve the symbol at a source position to its definition without guessing by name. An unresolved position omits definition.
27
+ - [`find_references`](tools/find_references.md) — Occurrences of the symbol at a position or label, from the graph and an on-disk SCIP index if present. Test and classified rows stay out unless opted in.
28
28
  - [`context_bundle`](tools/context_bundle.md) — Compact graph and source bundle for one symbol.
29
29
  - [`map_stacktrace`](tools/map_stacktrace.md) — Map stack-trace text onto repository files and symbols.
30
30
 
31
31
  ## Change impact and Git
32
32
 
33
33
  - [`get_dependents`](tools/get_dependents.md) — Bounded transitive reverse blast radius.
34
- - [`change_impact`](tools/change_impact.md) — Read-only Git change impact with graph evidence.
34
+ - [`change_impact`](tools/change_impact.md) — Read-only Git change impact with graph evidence. Impacted nodes are id, label, kind, language, and span.
35
35
  - [`select_tests`](tools/select_tests.md) — Select the test suites a change most plausibly needs to run.
36
36
  - [`git_history`](tools/git_history.md) — Bounded direct Git history without launching git.
37
37
  - [`git_read_blob`](tools/git_read_blob.md) — Bounded UTF-8 file content at an immutable Git revision or blob OID; binary blobs are refused.
@@ -43,11 +43,11 @@ cannot silently switch to another repository. Pass an explicit
43
43
 
44
44
  - [`architecture_inventory`](tools/architecture_inventory.md) — Bounded architecture overview and evidence-bounded style hypotheses by default, with complete edge/cycle-candidate totals; `detail:"full"` gives paged evidence. Explain statuses and witnesses in prose, not as a JSON dump.
45
45
  - [`ci_restrictions`](tools/ci_restrictions.md) — Local GitHub Actions checks and conditional applicability.
46
- - [`ci_protection`](tools/ci_protection.md) — Candidate checks and declared rule bindings for an explicit file list. Not included in change or diff answers.
46
+ - [`ci_protection`](tools/ci_protection.md) — Candidate checks and declared rule bindings for an explicit file list. Membership ids in the answer are path labels. Not included in change or diff answers.
47
47
  - [`explain_restriction`](tools/explain_restriction.md) — One restriction and its evidence limits.
48
- - [`find_duplicates`](tools/find_duplicates.md) — Deterministic Type-1/2/3 clone families.
49
- - [`find_dead_code`](tools/find_dead_code.md) — Conservative unreferenced-symbol review queue.
50
- - [`run_audit`](tools/run_audit.md) — Repository structure and evidence completeness audit.
48
+ - [`find_duplicates`](tools/find_duplicates.md) — Deterministic Type-1/2/3 clone families. `.gen.` and `.generated.` files stay out unless `include_boilerplate` is set.
49
+ - [`find_dead_code`](tools/find_dead_code.md) — Conservative unreferenced-symbol review queue. A type-only import does not keep its target live.
50
+ - [`run_audit`](tools/run_audit.md) — Repository structure and evidence completeness audit. A named category collects only that section.
51
51
  - [`coverage_map`](tools/coverage_map.md) — Ingest a report Quality already built. Does not run tests. Missing report is unmeasured, not 0%.
52
52
  - [`hot_path_review`](tools/hot_path_review.md) — Rank functions by static complexity times resolved call fan-in.
53
53
  - [`perf_attribution`](tools/perf_attribution.md) — Correlate a measurement series with the declarations that changed between the revisions that produced it.
@@ -60,7 +60,7 @@ cannot silently switch to another repository. Pass an explicit
60
60
 
61
61
  ## APIs and transports
62
62
 
63
- - [`list_endpoints`](tools/list_endpoints.md) — Inventory statically extracted HTTP endpoints, including hand-rolled req.method/pathname conditions.
63
+ - [`list_endpoints`](tools/list_endpoints.md) — Compact HTTP endpoint inventory. `max_results` pages it and reports `endpoints_total`.
64
64
  - [`trace_endpoint`](tools/trace_endpoint.md) — Resolve an endpoint and its bounded call neighborhood.
65
65
  - [`trace_api_contract`](tools/trace_api_contract.md) — Cross-repository HTTP, GraphQL, gRPC and event-transport contract evidence for named backend and client roots.
66
66
 
@@ -72,7 +72,7 @@ cannot silently switch to another repository. Pass an explicit
72
72
 
73
73
  ## Semantic link
74
74
 
75
- - [`semantic_link`](tools/semantic_link.md) — Rank a text query with the local token hash `weavatrix-token-hash-v1`, or link a non-empty caller-supplied vectors array. Nearest-neighbor search, SEO page links, and the event journal are library crates, not MCP tools.
75
+ - [`semantic_link`](tools/semantic_link.md) — Rank a text query with `weavatrix-token-hash-v1` (name, path, doc comment, declaration, short body; test paths rank lower), or link a non-empty caller-supplied vectors array. Nearest-neighbor search, SEO page links, and the event journal are library crates, not MCP tools.
76
76
 
77
77
  ## n8n workflows
78
78
 
@@ -4,7 +4,7 @@ Read-only Git change impact with graph evidence.
4
4
 
5
5
  ## When to use
6
6
 
7
- Map a working-tree diff, explicit files, or Git revisions onto affected graph nodes. Naming `files` or `target` when that file matches HEAD still returns its symbols as `change: "file_scope"` and `change_basis: "explicit_file"`. That is a hypothetical blast radius, not a measured edit. A dirty file keeps the real symbol diff. `status` stays COMPLETE when the tool ran. Read `evidence_completeness` and `stop_reason`. `MAX_NODES` means the combined cap omitted nodes.
7
+ Map a working-tree diff, explicit files, or Git revisions onto affected graph nodes. Naming `files` or `target` when that file matches HEAD still returns its symbols as `change: "file_scope"` and `change_basis: "explicit_file"`. That is a hypothetical blast radius, not a measured edit. A dirty file keeps the real symbol diff. `status` stays COMPLETE when the tool ran. Read `evidence_completeness` and `stop_reason`. `MAX_NODES` means the combined cap omitted nodes. Impacted nodes are id, label, kind, language, and span.
8
8
 
9
9
  Static impact is not proof that selected behavior executed.
10
10
 
@@ -22,5 +22,9 @@ call `ci_restrictions`. For one finding, call `explain_restriction`.
22
22
  ```
23
23
 
24
24
  `candidate_checks` and `declared_rule_bindings` are static candidates.
25
- Execution, path filters, and remote enforcement are not proven. The live
26
- MCP `tools/list` schema is authoritative.
25
+ Component and build membership in the answer are path labels
26
+ (`component:directory:src/api`, `test:architecture`, `Cargo.toml`), not
27
+ repository hashes. `restrictions_unresolved` returns at most 20 strings and
28
+ `restrictions_unresolved_total` is the full count. Execution, path filters,
29
+ and remote enforcement are not proven. The live MCP `tools/list` schema is
30
+ authoritative.
@@ -4,7 +4,7 @@ Conservative unreferenced-symbol review queue.
4
4
 
5
5
  ## When to use
6
6
 
7
- Build a conservative dead-code review queue. Every `main.go` and every Go `func main` is an entry, so `main` itself is reachable. Receiver names and function-literal parameters are not symbols. Exported symbols with no callers stay at confidence 50; private ones at 85. `REVIEW_ONLY` means the queue is a review list.
7
+ Build a conservative dead-code review queue. Every `main.go` and every Go `func main` is an entry, so `main` itself is reachable. Receiver names and function-literal parameters are not symbols. Exported symbols with no callers stay at confidence 50; private ones at 85. `REVIEW_ONLY` means the queue is a review list. Each candidate is id, label, kind, language, and span. A type-only import does not keep its target live.
8
8
 
9
9
  Never delete from this result alone; confirm source and framework registration points.
10
10
 
@@ -4,7 +4,7 @@ Deterministic Type-1/2/3 clone families.
4
4
 
5
5
  ## When to use
6
6
 
7
- Review bounded Type-1, Type-2, or Type-3 clone families before confirming candidates in source.
7
+ Review bounded Type-1, Type-2, or Type-3 clone families before confirming candidates in source. Files named `.gen.` or `.generated.` stay out unless `include_boilerplate` is set.
8
8
 
9
9
  ## Inputs
10
10
 
@@ -5,7 +5,7 @@ Occurrences of the symbol at a position or label, from the graph and an on-disk
5
5
  ## When to use
6
6
 
7
7
  List every recorded occurrence of one symbol after you have a label or a pinned
8
- `(path, line, column)` usage.
8
+ `(path, line, column)` usage. Test and classified rows stay out unless `include_tests` or `include_classified` is set. The definition row stays.
9
9
 
10
10
  ## Inputs
11
11
 
@@ -4,7 +4,7 @@ Direct typed incoming and outgoing relationships.
4
4
 
5
5
  ## When to use
6
6
 
7
- Inspect only the direct typed incoming and outgoing relationships of one exact node.
7
+ Inspect only the direct typed incoming and outgoing relationships of one exact node. The seed is id, label, kind, language, and span unless `response_detail` is `full`. Test and classified neighbors stay out unless `include_tests` or `include_classified` is set.
8
8
 
9
9
  For transitive reverse impact use `get_dependents`; for bounded multi-hop exploration use `query_graph`.
10
10
 
@@ -5,7 +5,7 @@ Resolve the symbol at a source position to its definition without guessing by na
5
5
  ## When to use
6
6
 
7
7
  You already have `(path, line, column)` for a usage and need the definition the
8
- graph recorded for that occurrence - not a same-named overload elsewhere.
8
+ graph recorded for that occurrence - not a same-named overload elsewhere. An unresolved position omits `definition`.
9
9
 
10
10
  ## Inputs
11
11
 
@@ -1,6 +1,6 @@
1
1
  # `graph_stats`
2
2
 
3
- Graph size, evidence and build freshness.
3
+ Graph size, evidence and build freshness. `evidence` counts edges, not a percentage; `evidence_share` is that split. `freshness.state` `CURRENT` means the loaded snapshot, not a new disk walk.
4
4
 
5
5
  ## When to use
6
6
 
@@ -4,7 +4,7 @@ Inventory statically extracted HTTP endpoints.
4
4
 
5
5
  ## When to use
6
6
 
7
- Inventory statically extracted HTTP endpoints with optional method and path filters.
7
+ Inventory statically extracted HTTP endpoints with optional method and path filters. Each row is a compact node: id, label, kind, language, and span. `max_results` pages that list and the answer reports `endpoints_total`; omit it to return every visible endpoint.
8
8
 
9
9
  ## Inputs
10
10
 
@@ -4,7 +4,7 @@ Repository structure and evidence completeness audit.
4
4
 
5
5
  ## When to use
6
6
 
7
- Run a broad repository health and evidence-completeness pass before targeted investigation.
7
+ Run a broad repository health and evidence-completeness pass before targeted investigation. A named category collects only that section. At least 200 parsed edges with resolved edges under one fifth of that is REVIEW.
8
8
 
9
9
  ## Inputs
10
10
 
@@ -4,7 +4,7 @@ Literal or Rust-regex repository search without ripgrep.
4
4
 
5
5
  ## When to use
6
6
 
7
- Find bounded literal or regular-expression matches in file text when the source text is known but its location is not. The process keeps a resident content index: the first search builds it and later searches read it (`backend` `liveindex`). A `glob` still walks the filesystem. This is not a symbol-graph search. Use `find_references` or `go_to_definition` for a symbol.
7
+ Find bounded literal or regular-expression matches in file text when the source text is known but its location is not. The process keeps a resident content index: the first search builds it and later searches read it (`backend` `liveindex`). A `glob` filters that index. The filesystem is scanned only when the widened search is truncated and the filter kept fewer hits than requested. This is not a symbol-graph search. Use `find_references` or `go_to_definition` for a symbol.
8
8
 
9
9
  ## Inputs
10
10
 
@@ -4,7 +4,7 @@ Rank symbols for a phrase, or link caller-supplied vectors.
4
4
 
5
5
  ## When to use
6
6
 
7
- Pass `query` to rank functions, methods, and types by the local deterministic token hash `weavatrix-token-hash-v1` (name, path, and the declaration line). That hash is not a neural embedding, and Weavatrix does not create one.
7
+ Pass `query` to rank functions, methods, and types by the local deterministic token hash `weavatrix-token-hash-v1` (name, path, a short doc comment above the declaration, the declaration line, and a short body). Test paths rank lower. That hash is not a neural embedding, and Weavatrix does not create one.
8
8
 
9
9
  Pass a non-empty `vectors` array only when you already have embeddings. An empty `vectors` array without `query` is an error and builds no links. When both are set, the supplied vectors are linked and the phrase is not ranked.
10
10