@boldblackai/harness 1.9.9 → 1.9.11
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 +1 -1
- package/bin/harness.js +11 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -307,7 +307,7 @@ pnpm unlink --global @boldblackai/harness
|
|
|
307
307
|
make image
|
|
308
308
|
```
|
|
309
309
|
|
|
310
|
-
Builds `ghcr.io/boldblackai/harness` with Debian stable-slim, Node.js v24, `git`, [`@earendil-works/pi-coding-agent`](https://pi.dev/), [`opencode-ai`](https://opencode.ai), [`hermes-agent`](https://github.com/NousResearch/hermes-agent), `fd`, `ripgrep`, `jq`, and `curl`. The hermes variant also includes the [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk) for connecting to MCP servers,
|
|
310
|
+
Builds `ghcr.io/boldblackai/harness` with Debian stable-slim, Node.js v24, `git`, [`@earendil-works/pi-coding-agent`](https://pi.dev/), [`opencode-ai`](https://opencode.ai), [`hermes-agent`](https://github.com/NousResearch/hermes-agent), `fd`, `ripgrep`, `jq`, and `curl`. The hermes variant also includes the [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk) for connecting to MCP servers, [`faster-whisper`](https://github.com/SYSTRAN/faster-whisper) for local speech-to-text, and [`kokoro-onnx`](https://github.com/thewh1teagle/kokoro-onnx) for local text-to-speech.
|
|
311
311
|
|
|
312
312
|
The base image is pinned by manifest-list digest (the OCI image index, not a per-platform manifest) for reproducible multi-arch builds. To bump it:
|
|
313
313
|
|
package/bin/harness.js
CHANGED
|
@@ -69,8 +69,15 @@ class AppleContainerRuntime {
|
|
|
69
69
|
return "container";
|
|
70
70
|
}
|
|
71
71
|
pullArgs(image) {
|
|
72
|
-
// apple/container nests pull under the `image` subgroup.
|
|
73
|
-
|
|
72
|
+
// apple/container nests pull under the `image` subgroup. Pass
|
|
73
|
+
// --platform so the correct arch variant is pulled: without it (and
|
|
74
|
+
// without CONTAINER_DEFAULT_PLATFORM), `image pull` resolves the
|
|
75
|
+
// platform to nil and selects the first entry in the manifest list
|
|
76
|
+
// (linux/amd64), pulling the wrong arch on Apple Silicon. `container
|
|
77
|
+
// run` defaults to the host arch via its own path, so the image was
|
|
78
|
+
// being pulled twice — once wrong, once right.
|
|
79
|
+
const arch = process.arch === "arm64" ? "arm64" : "amd64";
|
|
80
|
+
return ["image", "pull", "--platform", `linux/${arch}`, image];
|
|
74
81
|
}
|
|
75
82
|
inspectImage(image) {
|
|
76
83
|
let out;
|
|
@@ -370,6 +377,7 @@ Options:
|
|
|
370
377
|
|
|
371
378
|
Environment variables:
|
|
372
379
|
HARNESS_IMAGE_TAG Override the Docker image tag (defaults to package version)
|
|
380
|
+
HARNESS_REGISTRY Override the container registry (defaults to ghcr.io/boldblackai/harness)
|
|
373
381
|
HARNESS_CONTAINER_RUNTIME Container runtime to use: docker (default) or apple (Apple container CLI)
|
|
374
382
|
XDG_DATA_HOME Override the base directory for persistence data (defaults to ~/.local/share)
|
|
375
383
|
XDG_CACHE_HOME Override the base directory for cosign cache (defaults to ~/.cache)
|
|
@@ -380,7 +388,7 @@ You can also pipe text to harness as an implied -p:
|
|
|
380
388
|
echo "write me a fizzbuzz in Go" | harness
|
|
381
389
|
`;
|
|
382
390
|
const workspace = process.cwd();
|
|
383
|
-
const REGISTRY = "ghcr.io/boldblackai/harness";
|
|
391
|
+
const REGISTRY = process.env.HARNESS_REGISTRY ?? "ghcr.io/boldblackai/harness";
|
|
384
392
|
const VERSION = require("../package.json").version;
|
|
385
393
|
const IMAGE_TAG = process.env.HARNESS_IMAGE_TAG ?? VERSION;
|
|
386
394
|
function normalizeCwd(cwd) {
|