omniharness-cli 0.1.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/README.md +47 -0
- package/cli.js +29 -0
- package/package.json +31 -0
- package/vendor/win32-x64/omniharness.exe +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# omniharness-cli
|
|
2
|
+
|
|
3
|
+
**OmniHarness** — a local-first agent orchestration harness that sits above
|
|
4
|
+
[OmniRoute](https://omniroute.ai). It analyzes tasks, picks a strategy, selects
|
|
5
|
+
models, drives capability-based agents, verifies results, repairs failures, and
|
|
6
|
+
learns from past outcomes — while OmniRoute stays responsible for routing model
|
|
7
|
+
requests to providers.
|
|
8
|
+
|
|
9
|
+
This package is a thin wrapper around the self-contained OmniHarness binary;
|
|
10
|
+
the `omniharness` command is the binary itself.
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
npm install -g omniharness-cli
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Quick start
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
omniharness doctor # verifies endpoint + auth status, safely
|
|
22
|
+
omniharness run "add a README" --headless # runs in the current directory
|
|
23
|
+
omniharness # interactive cockpit (TUI)
|
|
24
|
+
omniharness sessions # persisted sessions
|
|
25
|
+
omniharness models # provider/model catalog from OmniRoute
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The harness treats the **current working directory** as the workspace.
|
|
29
|
+
|
|
30
|
+
## Configuration
|
|
31
|
+
|
|
32
|
+
| Variable | Meaning |
|
|
33
|
+
|---|---|
|
|
34
|
+
| `OMNIROUTE_URL` | OmniRoute endpoint (default `http://127.0.0.1:20131`) |
|
|
35
|
+
| `OMNIROUTE_API_KEY` | OmniRoute API key — `Authorization: Bearer <key>` on every request |
|
|
36
|
+
|
|
37
|
+
If `OMNIROUTE_API_KEY` is unset, the harness asks you to paste the key on
|
|
38
|
+
interactive launch and holds it **in memory only** — it is never written to
|
|
39
|
+
config, sessions, logs, or telemetry. The key is redacted from all output;
|
|
40
|
+
`doctor` masks it as `key_<last4>`.
|
|
41
|
+
|
|
42
|
+
## Notes
|
|
43
|
+
|
|
44
|
+
- Only `win32-x64` is shipped in this version; other platforms can be added by
|
|
45
|
+
building the Go binary and publishing a new release.
|
|
46
|
+
- The source repository is the OmniHarness project; build with
|
|
47
|
+
`scripts/release-npm.sh` and publish with `npm publish`.
|
package/cli.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// omniharness-cli launcher: runs the platform-specific prebuilt binary.
|
|
3
|
+
// The binary is self-contained; this shim only locates and spawns it.
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
const { spawnSync } = require('child_process');
|
|
7
|
+
const fs = require('fs');
|
|
8
|
+
const path = require('path');
|
|
9
|
+
|
|
10
|
+
const platform = process.platform;
|
|
11
|
+
const arch = process.arch;
|
|
12
|
+
const exe = platform === 'win32' ? 'omniharness.exe' : 'omniharness';
|
|
13
|
+
const binPath = path.join(__dirname, 'vendor', `${platform}-${arch}`, exe);
|
|
14
|
+
|
|
15
|
+
if (!fs.existsSync(binPath)) {
|
|
16
|
+
console.error(
|
|
17
|
+
`omniharness-cli: no prebuilt binary for ${platform}-${arch}.\n` +
|
|
18
|
+
'This package ships binaries for the platforms listed in its package.json ' +
|
|
19
|
+
'"os"/"cpu" fields. Build one with scripts/release-npm.sh.'
|
|
20
|
+
);
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const result = spawnSync(binPath, process.argv.slice(2), { stdio: 'inherit' });
|
|
25
|
+
if (result.error) {
|
|
26
|
+
console.error(`omniharness-cli: failed to launch ${binPath}: ${result.error.message}`);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
process.exit(result.status === null ? 1 : result.status);
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "omniharness-cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "OmniHarness — local-first agent orchestration harness for OmniRoute. Analyzes tasks, selects strategies and models, drives agents, repairs failures, and learns from outcomes.",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"bin": {
|
|
7
|
+
"omniharness": "cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"cli.js",
|
|
11
|
+
"vendor/",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
14
|
+
"keywords": [
|
|
15
|
+
"omniroute",
|
|
16
|
+
"agents",
|
|
17
|
+
"orchestration",
|
|
18
|
+
"harness",
|
|
19
|
+
"llm",
|
|
20
|
+
"cli"
|
|
21
|
+
],
|
|
22
|
+
"os": [
|
|
23
|
+
"win32"
|
|
24
|
+
],
|
|
25
|
+
"cpu": [
|
|
26
|
+
"x64"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=16"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
Binary file
|