nestweaver 9.0.5
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 +50 -0
- package/bin/nestweaver +11 -0
- package/install.js +82 -0
- package/package.json +38 -0
package/README.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# nestweaver
|
|
2
|
+
|
|
3
|
+
Code knowledge graph for AI agents — 42 MCP tools, 32 languages, graph
|
|
4
|
+
visualization.
|
|
5
|
+
|
|
6
|
+
This package is a thin wrapper. Its `postinstall` downloads the NestWeaver
|
|
7
|
+
binary matching this package's version from the project's GitHub Releases,
|
|
8
|
+
verifies it against the SHA-256 published alongside the archive, and puts a
|
|
9
|
+
`nestweaver` executable on your PATH.
|
|
10
|
+
|
|
11
|
+
## Platforms
|
|
12
|
+
|
|
13
|
+
macOS and Linux, on x86_64 and arm64. On any other platform the install step
|
|
14
|
+
exits without failing and prints the supported targets; use a release archive
|
|
15
|
+
or a source build instead.
|
|
16
|
+
|
|
17
|
+
Linux builds target **glibc 2.35**, which covers Ubuntu 22.04 LTS and newer and
|
|
18
|
+
Debian 12. The archive includes the GCC 13 runtime LadybugDB needs and the npm
|
|
19
|
+
installer preserves it beside the binary. Check your glibc with `ldd --version`;
|
|
20
|
+
on anything older the binary will not start and the error names a missing
|
|
21
|
+
`GLIBC_` symbol. macOS builds target **13.3**.
|
|
22
|
+
|
|
23
|
+
## Upgrading an existing graph
|
|
24
|
+
|
|
25
|
+
NestWeaver 9.0.0 raised the resolver generation, so a graph built by an earlier
|
|
26
|
+
release has stale rankings and is missing C/C++ `MEMBER_OF` and C++ `IMPORTS`
|
|
27
|
+
edges. Check with:
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
nestweaver stale-check
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
It exits `2` and reports `outdated_resolver` when a re-index is needed. The
|
|
34
|
+
remedy needs `--force`, because a generation-stale repo is at HEAD with nothing
|
|
35
|
+
modified and a plain re-index takes the incremental path and writes nothing:
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
nestweaver index --repo <path> --force
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Other installation paths
|
|
42
|
+
|
|
43
|
+
Verified GitHub Release archives, and building from a source checkout with Rust
|
|
44
|
+
1.85+, are documented in [INSTALL.md](https://github.com/Kehl-io/nestweaver/blob/main/INSTALL.md).
|
|
45
|
+
|
|
46
|
+
## Links
|
|
47
|
+
|
|
48
|
+
- [Repository and documentation](https://github.com/Kehl-io/nestweaver)
|
|
49
|
+
- [Issue tracker](https://github.com/Kehl-io/nestweaver/issues)
|
|
50
|
+
- MIT licensed
|
package/bin/nestweaver
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -e
|
|
3
|
+
DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
4
|
+
BINARY="$DIR/.nestweaver-bin/nestweaver"
|
|
5
|
+
|
|
6
|
+
if [ ! -x "$BINARY" ]; then
|
|
7
|
+
echo "NestWeaver binary not found. Install a verified GitHub Release archive, or from a source checkout run: cargo install --locked --path ." >&2
|
|
8
|
+
exit 1
|
|
9
|
+
fi
|
|
10
|
+
|
|
11
|
+
exec "$BINARY" "$@"
|
package/install.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { execSync } = require("child_process");
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
|
|
7
|
+
const PLATFORM_MAP = {
|
|
8
|
+
"darwin-x64": "x86_64-apple-darwin",
|
|
9
|
+
"darwin-arm64": "aarch64-apple-darwin",
|
|
10
|
+
"linux-x64": "x86_64-unknown-linux-gnu",
|
|
11
|
+
"linux-arm64": "aarch64-unknown-linux-gnu",
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const key = `${process.platform}-${process.arch}`;
|
|
15
|
+
const target = PLATFORM_MAP[key];
|
|
16
|
+
|
|
17
|
+
if (!target) {
|
|
18
|
+
console.warn(`Unsupported platform: ${key}`);
|
|
19
|
+
console.warn("Supported: darwin-x64, darwin-arm64, linux-x64, linux-arm64");
|
|
20
|
+
console.warn(
|
|
21
|
+
"Unsupported platform. Install a verified GitHub Release archive for a supported target, or from a source checkout: cargo install --locked --path .",
|
|
22
|
+
);
|
|
23
|
+
process.exit(0); // Don't break npm install
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const version = require("./package.json").version;
|
|
27
|
+
const repo = "Kehl-io/nestweaver";
|
|
28
|
+
// Release tags are `v<version>` (release-please config: include-component-in-tag
|
|
29
|
+
// false) and assets are `nestweaver-v<version>-<target>.tar.gz` (see the
|
|
30
|
+
// `build` job in .github/workflows/release-please.yml). Keep these in sync.
|
|
31
|
+
const tag = `v${version}`;
|
|
32
|
+
const archive = `nestweaver-${tag}-${target}.tar.gz`;
|
|
33
|
+
const base = `https://github.com/${repo}/releases/download/${tag}`;
|
|
34
|
+
const url = `${base}/${archive}`;
|
|
35
|
+
|
|
36
|
+
const binDir = path.join(__dirname, ".nestweaver-bin");
|
|
37
|
+
fs.mkdirSync(binDir, { recursive: true });
|
|
38
|
+
const archivePath = path.join(binDir, archive);
|
|
39
|
+
|
|
40
|
+
console.log(`Downloading NestWeaver v${version} for ${target}...`);
|
|
41
|
+
|
|
42
|
+
try {
|
|
43
|
+
execSync(`curl -fsSL "${url}" -o "${archivePath}"`, { stdio: "inherit" });
|
|
44
|
+
|
|
45
|
+
// Verify the SHA-256 the release ships alongside the archive — a mismatch
|
|
46
|
+
// means a corrupted or tampered download, which must fail loudly.
|
|
47
|
+
try {
|
|
48
|
+
const expected = execSync(`curl -fsSL "${url}.sha256"`)
|
|
49
|
+
.toString()
|
|
50
|
+
.trim()
|
|
51
|
+
.split(/\s+/)[0];
|
|
52
|
+
const actual = execSync(`shasum -a 256 "${archivePath}"`)
|
|
53
|
+
.toString()
|
|
54
|
+
.trim()
|
|
55
|
+
.split(/\s+/)[0];
|
|
56
|
+
if (expected && actual && expected !== actual) {
|
|
57
|
+
throw new Error(
|
|
58
|
+
`checksum mismatch: expected ${expected}, got ${actual}`,
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
} catch (checksumErr) {
|
|
62
|
+
if (String(checksumErr.message || "").includes("checksum mismatch")) {
|
|
63
|
+
throw checksumErr; // integrity failure — do not install
|
|
64
|
+
}
|
|
65
|
+
// Missing/unreadable .sha256 is not fatal; proceed with the download.
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
execSync(`tar xz -C "${binDir}" -f "${archivePath}"`, { stdio: "inherit" });
|
|
69
|
+
fs.rmSync(archivePath, { force: true });
|
|
70
|
+
fs.chmodSync(path.join(binDir, "nestweaver"), 0o755);
|
|
71
|
+
console.log("NestWeaver installed successfully.");
|
|
72
|
+
console.log(
|
|
73
|
+
"Upgrading an existing pre-publication brain? Stop its daemon and run `nestweaver publication rebuild --config /path/to/instance.toml`; the incumbent remains recoverable until validated cutover.",
|
|
74
|
+
);
|
|
75
|
+
} catch (err) {
|
|
76
|
+
console.warn(`Failed to install NestWeaver binary: ${err.message}`);
|
|
77
|
+
console.warn(` URL: ${url}`);
|
|
78
|
+
console.warn(
|
|
79
|
+
"Download a verified GitHub Release archive, or build from a source checkout: cargo install --locked --path .",
|
|
80
|
+
);
|
|
81
|
+
process.exit(0); // Don't break npm install on transient/network failures
|
|
82
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nestweaver",
|
|
3
|
+
"version": "9.0.5",
|
|
4
|
+
"description": "Code knowledge graph for AI agents — 42 MCP tools, 32 languages, graph visualization",
|
|
5
|
+
"bin": {
|
|
6
|
+
"nestweaver": "bin/nestweaver"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"bin/",
|
|
10
|
+
"install.js",
|
|
11
|
+
"README.md"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"postinstall": "node install.js"
|
|
15
|
+
},
|
|
16
|
+
"os": [
|
|
17
|
+
"darwin",
|
|
18
|
+
"linux"
|
|
19
|
+
],
|
|
20
|
+
"cpu": [
|
|
21
|
+
"x64",
|
|
22
|
+
"arm64"
|
|
23
|
+
],
|
|
24
|
+
"keywords": [
|
|
25
|
+
"mcp",
|
|
26
|
+
"code-graph",
|
|
27
|
+
"tree-sitter",
|
|
28
|
+
"code-intelligence",
|
|
29
|
+
"knowledge-graph",
|
|
30
|
+
"code-analysis"
|
|
31
|
+
],
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/Kehl-io/nestweaver.git"
|
|
35
|
+
},
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"homepage": "https://github.com/Kehl-io/nestweaver"
|
|
38
|
+
}
|