hermesgrid 0.7.0-cloud-alpha
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/hermes +63 -0
- package/package.json +38 -0
package/bin/hermes
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
const { platform, arch } = process;
|
|
6
|
+
const { spawnSync } = require('child_process');
|
|
7
|
+
const path = require('path');
|
|
8
|
+
|
|
9
|
+
const PLATFORMS = {
|
|
10
|
+
darwin: {
|
|
11
|
+
arm64: 'hermesgrid-darwin-arm64',
|
|
12
|
+
},
|
|
13
|
+
linux: {
|
|
14
|
+
x64: 'hermesgrid-linux-x64',
|
|
15
|
+
arm64: 'hermesgrid-linux-arm64',
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const platformPkgs = PLATFORMS[platform];
|
|
20
|
+
if (!platformPkgs) {
|
|
21
|
+
console.error(
|
|
22
|
+
`Hermes does not support your platform (${platform}).\n` +
|
|
23
|
+
'Supported: darwin-arm64, linux-x64, linux-arm64.'
|
|
24
|
+
);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const pkgName = platformPkgs[arch];
|
|
29
|
+
if (!pkgName) {
|
|
30
|
+
console.error(
|
|
31
|
+
`Hermes does not support your architecture (${platform}-${arch}).\n` +
|
|
32
|
+
'Supported: darwin-arm64, linux-x64, linux-arm64.'
|
|
33
|
+
);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let binPath;
|
|
38
|
+
try {
|
|
39
|
+
const pkgDir = path.dirname(require.resolve(`${pkgName}/package.json`));
|
|
40
|
+
binPath = path.join(pkgDir, 'hermes');
|
|
41
|
+
} catch {
|
|
42
|
+
console.error(
|
|
43
|
+
`The platform package ${pkgName} is not installed.\n\n` +
|
|
44
|
+
'This usually means your package manager did not install optional dependencies.\n\n' +
|
|
45
|
+
'Try: npm install -g hermesgrid\n'
|
|
46
|
+
);
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const result = spawnSync(binPath, process.argv.slice(2), {
|
|
51
|
+
stdio: 'inherit',
|
|
52
|
+
shell: false,
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
if (result.error) {
|
|
56
|
+
if (result.error.code === 'EACCES') {
|
|
57
|
+
console.error(`Permission denied: ${binPath}\nTry: chmod +x ${binPath}`);
|
|
58
|
+
} else {
|
|
59
|
+
throw result.error;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
process.exitCode = result.status;
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hermesgrid",
|
|
3
|
+
"version": "0.7.0-cloud-alpha",
|
|
4
|
+
"description": "AI coding agents in isolated sandboxes",
|
|
5
|
+
"bin": {
|
|
6
|
+
"hermes": "bin/hermes"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"bin/hermes"
|
|
10
|
+
],
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=18"
|
|
13
|
+
},
|
|
14
|
+
"os": [
|
|
15
|
+
"darwin",
|
|
16
|
+
"linux"
|
|
17
|
+
],
|
|
18
|
+
"keywords": [
|
|
19
|
+
"hermes",
|
|
20
|
+
"ai",
|
|
21
|
+
"agent",
|
|
22
|
+
"sandbox",
|
|
23
|
+
"cli",
|
|
24
|
+
"docker",
|
|
25
|
+
"timescale"
|
|
26
|
+
],
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "git+https://github.com/timescale/hermes.git"
|
|
30
|
+
},
|
|
31
|
+
"homepage": "https://github.com/timescale/hermes",
|
|
32
|
+
"license": "Apache-2.0",
|
|
33
|
+
"optionalDependencies": {
|
|
34
|
+
"hermesgrid-darwin-arm64": "0.7.0-cloud-alpha",
|
|
35
|
+
"hermesgrid-linux-x64": "0.7.0-cloud-alpha",
|
|
36
|
+
"hermesgrid-linux-arm64": "0.7.0-cloud-alpha"
|
|
37
|
+
}
|
|
38
|
+
}
|