@witness-ai/opencode
Advanced tools
+15
-2
@@ -7,2 +7,4 @@ import { createRequire } from "node:module" | ||
| "linux-x64": "@witness-ai/opencode-linux-x64", | ||
| "win32-x64": "@witness-ai/opencode-win32-x64", | ||
| "win32-arm64": "@witness-ai/opencode-win32-arm64", | ||
| } | ||
@@ -14,2 +16,13 @@ | ||
| // binName is "witness.exe" on Windows and "witness" everywhere else. | ||
| // | ||
| // This is not cosmetic: it is the difference between the Windows packages working and being dead | ||
| // weight. The path built here is gated by an existsSync in both consumers (bin/witness.js and the | ||
| // plugin in witness.js), so a missing .exe suffix means the probe silently fails, WITNESS_BIN stays | ||
| // empty, and every hook early-returns — the plugin loads and captures nothing. Publishing a Windows | ||
| // binary while resolving it under a POSIX name would have shipped a package that could never run. | ||
| function binName(platform) { | ||
| return platform === "win32" ? "witness.exe" : "witness" | ||
| } | ||
| export function platformWitnessBin(platform = process.platform, arch = process.arch, resolve = createRequire(import.meta.url).resolve) { | ||
@@ -19,3 +32,3 @@ const name = platformPackage(platform, arch) | ||
| try { | ||
| return path.join(path.dirname(resolve(`${name}/package.json`)), "bin", "witness") | ||
| return path.join(path.dirname(resolve(`${name}/package.json`)), "bin", binName(platform)) | ||
| } catch { | ||
@@ -27,3 +40,3 @@ return "" | ||
| export function supportedPlatforms() { | ||
| return "macOS Apple Silicon (darwin/arm64) and Linux x86-64 (linux/x64)" | ||
| return "macOS Apple Silicon (darwin/arm64), Linux x86-64 (linux/x64), and Windows x86-64 + ARM64 (win32/x64, win32/arm64)" | ||
| } |
+5
-3
| { | ||
| "name": "@witness-ai/opencode", | ||
| "mcpName": "io.github.IngTian/witness", | ||
| "version": "0.7.4", | ||
| "version": "0.7.5", | ||
| "description": "MCP memory / second brain for Claude Code & OpenCode — captures your coding sessions and distills how your knowledge and habits evolve over time, queryable by your agent.", | ||
@@ -24,4 +24,6 @@ "type": "module", | ||
| "optionalDependencies": { | ||
| "@witness-ai/opencode-darwin-arm64": "0.7.4", | ||
| "@witness-ai/opencode-linux-x64": "0.7.4" | ||
| "@witness-ai/opencode-darwin-arm64": "0.7.5", | ||
| "@witness-ai/opencode-linux-x64": "0.7.5", | ||
| "@witness-ai/opencode-win32-x64": "0.7.5", | ||
| "@witness-ai/opencode-win32-arm64": "0.7.5" | ||
| }, | ||
@@ -28,0 +30,0 @@ "keywords": [ |
+5
-1
@@ -11,5 +11,9 @@ # @witness-ai/opencode | ||
| | Linux | x86-64 (`linux/x64`) | `@witness-ai/opencode-linux-x64` | | ||
| | Windows | x86-64 (`win32/x64`) | `@witness-ai/opencode-win32-x64` | | ||
| | Windows | ARM64 (`win32/arm64`) | `@witness-ai/opencode-win32-arm64` | | ||
| These are the only platforms supported by the npm distribution. macOS Intel, Linux ARM, and Windows are not supported. The CLI exits with a clear supported-platform message on those systems. | ||
| These are the only platforms supported by the npm distribution. macOS Intel and Linux ARM are not supported; the CLI exits with a clear supported-platform message on those systems. | ||
| Windows requires **OpenCode 1.18.0 or newer**. If you prefer a self-contained install with the embedding model already included — no first-run download — use the zip from the [latest release](https://github.com/IngTian/witness/releases/latest) instead. | ||
| ## Install | ||
@@ -16,0 +20,0 @@ |
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
70067
1.91%916
1.33%75
5.63%4
100%