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 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