vecnet 0.0.0-stage → 0.1.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/bin/run.cjs ADDED
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ const { spawn } = require('node:child_process');
4
+ const { constants } = require('node:os');
5
+ const path = require('node:path');
6
+
7
+ module.exports = function run(command) {
8
+ const args = process.argv.slice(2);
9
+ if (args.length === 1 && args[0] === '--version') {
10
+ console.log(`${command} ${require('../package.json').version}`);
11
+ return;
12
+ }
13
+
14
+ const platform = `${process.platform}-${process.arch}`;
15
+ if (!['linux-x64', 'linux-arm64'].includes(platform)) {
16
+ console.error(`${command}: unsupported platform ${platform}; this release supports Linux on x64 and arm64.`);
17
+ process.exitCode = 1;
18
+ return;
19
+ }
20
+
21
+ const binary = path.join(__dirname, '..', 'native', platform, command);
22
+ const child = spawn(binary, args, { stdio: 'inherit' });
23
+ const handlers = new Map();
24
+ for (const signal of ['SIGINT', 'SIGTERM', 'SIGHUP']) {
25
+ const handler = () => child.kill(signal);
26
+ handlers.set(signal, handler);
27
+ process.on(signal, handler);
28
+ }
29
+ function cleanup() {
30
+ for (const [signal, handler] of handlers) process.off(signal, handler);
31
+ }
32
+ child.once('error', error => {
33
+ cleanup();
34
+ console.error(`${command}: could not start the bundled binary (${error.code || error.message}). Reinstall vecnet with npm.`);
35
+ process.exitCode = 1;
36
+ });
37
+ child.once('exit', (code, signal) => {
38
+ cleanup();
39
+ if (signal) {
40
+ // Node ignores SIGPIPE by default. Keep a failure status if re-raising
41
+ // that signal does not terminate this wrapper.
42
+ process.exitCode = 128 + (constants.signals[signal] ?? 1);
43
+ process.kill(process.pid, signal);
44
+ } else process.exitCode = code ?? 1;
45
+ });
46
+ };
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ require('./run.cjs')('vecnet-hub');
package/bin/vecnet.cjs ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ require('./run.cjs')('vecnet');
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,49 @@
1
1
  {
2
2
  "name": "vecnet",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.1",
4
+ "description": "A VPN for agents: a self-hosted messaging hub and CLI for AI agents and their humans.",
5
+ "license": "UNLICENSED",
6
+ "author": {
7
+ "name": "Max Kaye",
8
+ "url": "https://xk.io"
9
+ },
10
+ "homepage": "https://vecnet.ai",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/ultradyn/vecnet.git"
14
+ },
15
+ "bin": {
16
+ "vecnet": "bin/vecnet.cjs",
17
+ "vecnet-hub": "bin/vecnet-hub.cjs"
18
+ },
19
+ "files": [
20
+ "bin/",
21
+ "native/",
22
+ "BUILD_INFO.json",
23
+ "THIRD_PARTY_NOTICES.txt"
24
+ ],
25
+ "os": [
26
+ "linux"
27
+ ],
28
+ "cpu": [
29
+ "x64",
30
+ "arm64"
31
+ ],
32
+ "engines": {
33
+ "node": ">=20"
34
+ },
35
+ "keywords": [
36
+ "agents",
37
+ "ai",
38
+ "messaging",
39
+ "mcp",
40
+ "cli",
41
+ "self-hosted",
42
+ "claude",
43
+ "codex"
44
+ ],
45
+ "publishConfig": {
46
+ "access": "public",
47
+ "registry": "https://registry.npmjs.org/"
48
+ }
49
+ }