oonacode 0.3.205 → 0.3.206
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 +16 -17
- package/bin/oona.js +9 -10
- package/package.json +3 -2
- package/postinstall.mjs +7 -6
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
OonaCode is a Windows-first, multi-provider coding agent: the genuine Claude Code engine (driven
|
|
4
4
|
through the official Claude Agent SDK) in an isolated profile, sessions in SQLite, any model
|
|
5
|
-
provider
|
|
5
|
+
provider, and personal remote access to your own machines.
|
|
6
6
|
|
|
7
7
|
This package is the **npm/pnpm/bun/yarn entry point**. It contains no binaries itself; the native
|
|
8
8
|
build is pulled in through a per-platform optional dependency and linked into `bin/` by a
|
|
@@ -25,18 +25,18 @@ oona web # open the local web UI
|
|
|
25
25
|
|
|
26
26
|
## Platform packages
|
|
27
27
|
|
|
28
|
-
| Platform | Package | Status
|
|
29
|
-
| ------------- | --------------------- |
|
|
30
|
-
| Windows x64 |
|
|
31
|
-
| Windows arm64 |
|
|
32
|
-
| Linux x64 |
|
|
33
|
-
| Linux arm64 |
|
|
34
|
-
| macOS
|
|
35
|
-
| macOS arm64 | `oonacode-darwin-arm64` | later |
|
|
28
|
+
| Platform | Package | Status |
|
|
29
|
+
| ------------- | --------------------- | ------------------------------------------------------- |
|
|
30
|
+
| Windows x64 | `@oonacode/win32-x64` | shipped |
|
|
31
|
+
| Windows arm64 | — | later (x64 build runs under emulation) |
|
|
32
|
+
| Linux x64 | `@oonacode/linux-x64` | shipped with every release that carries Linux |
|
|
33
|
+
| Linux arm64 | — | later |
|
|
34
|
+
| macOS | — | not on npm (the terminal installer, `install.sh`) |
|
|
36
35
|
|
|
37
|
-
Each platform package carries `oona.exe` (the single-binary host + CLI
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
Each platform package carries `oona.exe` (the single-binary host + CLI; `oona` on Linux), the local
|
|
37
|
+
web UI assets (`web-ui/`), the provider registry and native addons (`build/`, `prebuilds/`). The
|
|
38
|
+
pinned Claude Code engine sidecar, `oonaclaude.exe`, is in it only when the release bundled it;
|
|
39
|
+
otherwise the PC downloads it once into its own store on the first message (`docs/engine-once.md`).
|
|
40
40
|
|
|
41
41
|
`oonaclaude.exe` is a byte-for-byte copy of the pinned, **unmodified** engine binary from the Claude
|
|
42
42
|
Agent SDK platform package. OonaCode does not fork or patch Claude Code; the file is renamed only so
|
|
@@ -44,7 +44,7 @@ it can never be confused with, or collide with, your own `claude` on PATH.
|
|
|
44
44
|
|
|
45
45
|
## How `oona` resolves the binary
|
|
46
46
|
|
|
47
|
-
`bin/oona.js` looks for, in order: `bin/oona.exe` (linked by postinstall) →
|
|
47
|
+
`bin/oona.js` looks for, in order: `bin/oona.exe` (linked by postinstall) → `@oonacode/win32-x64/oona.exe`
|
|
48
48
|
in place → the JS CLI `@oonacode/cli/dist/main.js` when that package is a dependency (developer
|
|
49
49
|
installs; slower start, needs an engine reachable via `OONACODE_CLAUDE_BIN`). The binary runs with
|
|
50
50
|
inherited stdio and its exit code is forwarded verbatim. If nothing is found it prints how to fix
|
|
@@ -59,10 +59,9 @@ irm https://oonacode.oonak.ai/install.ps1 | iex
|
|
|
59
59
|
- **pnpm / bun block lifecycle scripts by default.** Without the postinstall the wrapper still
|
|
60
60
|
works (it resolves the platform package in place); linking only removes one resolution step.
|
|
61
61
|
- Set `OONACODE_SKIP_POSTINSTALL=1` to skip the link step entirely.
|
|
62
|
-
- Your own
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
once the npm org is ready; the release workflow refuses to publish while it is private).
|
|
62
|
+
- Your own subscriptions and your own API keys always run direct from your PC to the provider
|
|
63
|
+
(OonaCode translates on your PC where a provider needs it); only OonaCode's own pool goes through
|
|
64
|
+
the OonaCode gateway. No credential is ever shared between users.
|
|
66
65
|
- In the monorepo `optionalDependencies` use `workspace:<version>` so pnpm links the sibling
|
|
67
66
|
platform package. npm does not understand the workspace protocol, so what `packaging/release.ps1`
|
|
68
67
|
publishes is a copy staged outside the repo by `packaging/scripts/stage-npm.mjs`, whose
|
package/bin/oona.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Resolution order (first hit wins):
|
|
7
7
|
* 1. <this package>/bin/oona.exe — hard-linked/copied there by postinstall.mjs
|
|
8
|
-
* 2. <platform package>/oona.exe — e.g. node_modules/
|
|
8
|
+
* 2. <platform package>/oona.exe — e.g. node_modules/@oonacode/win32-x64/oona.exe
|
|
9
9
|
* (used when the package manager skipped postinstall;
|
|
10
10
|
* pnpm/bun block lifecycle scripts unless allowed)
|
|
11
11
|
* 3. @oonacode/cli/dist/main.js via Node — JS fallback when the monorepo CLI package is a
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* The native binary is spawned with inherited stdio and its exit code is forwarded verbatim, so
|
|
16
16
|
* `oona -p ... --output-format json` works in pipes exactly like the bare executable.
|
|
17
17
|
*
|
|
18
|
-
* Windows and Linux x64 are
|
|
19
|
-
* see README.md.
|
|
18
|
+
* Windows and Linux x64 are on npm. macOS installs from the terminal (install.sh) and has no npm
|
|
19
|
+
* package yet; arm64 builds are not published — see README.md.
|
|
20
20
|
*/
|
|
21
21
|
const fs = require('fs');
|
|
22
22
|
const path = require('path');
|
|
@@ -28,7 +28,7 @@ const PLATFORM_PACKAGES = {
|
|
|
28
28
|
// 'win32-arm64': 'oonacode-win32-arm64', // deferred
|
|
29
29
|
// 'linux-arm64': 'oonacode-linux-arm64', // deferred — install.sh refuses aarch64 for the
|
|
30
30
|
// same reason: nothing is published for it
|
|
31
|
-
// 'darwin-x64': 'oonacode-darwin-x64', //
|
|
31
|
+
// 'darwin-x64': 'oonacode-darwin-x64', // no npm package: macOS installs with install.sh
|
|
32
32
|
// 'darwin-arm64': 'oonacode-darwin-arm64', // not built yet
|
|
33
33
|
};
|
|
34
34
|
|
|
@@ -41,13 +41,12 @@ const EXE_NAME = IS_WIN ? 'oona.exe' : 'oona';
|
|
|
41
41
|
const ENGINE_NAMES = IS_WIN ? ['oonaclaude.exe', 'claude.exe'] : ['oonaclaude', 'claude'];
|
|
42
42
|
const PLATFORM_KEY = `${process.platform}-${process.arch}`;
|
|
43
43
|
|
|
44
|
-
// macOS:
|
|
45
|
-
//
|
|
46
|
-
//
|
|
44
|
+
// macOS: published since 0.3.202 for the terminal installer only (ad-hoc signed, no Apple
|
|
45
|
+
// Developer ID yet — the owner's decision of 2026-10-03), so npm has nothing to install on a Mac.
|
|
46
|
+
// Say where the real install is, instead of a list of fixes that cannot work.
|
|
47
47
|
const MAC_HINT = [
|
|
48
|
-
`oonacode:
|
|
49
|
-
'
|
|
50
|
-
' A local build installs with: packaging/install.sh --archive oonacode-darwin-<arch>.tar.gz',
|
|
48
|
+
`oonacode: there is no npm package for macOS (${PLATFORM_KEY}). Install OonaCode from the terminal:`,
|
|
49
|
+
' curl -fsSL https://oonacode.oonak.ai/install.sh | bash',
|
|
51
50
|
'',
|
|
52
51
|
].join('\n');
|
|
53
52
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oonacode",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.206",
|
|
4
4
|
"description": "OonaCode — Windows-first multi-provider coding agent: the `oona` CLI, headless host service and local web UI. npm wrapper; the native binary is installed through the per-platform optional dependency.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"test": "node --test test/wrapper.test.js test/packaging-scripts.test.js test/uninstall-scripts.test.js test/release-feed.test.js test/manifests.test.js test/set-version.test.js test/npm-stage.test.js test/ship-plan.test.js test/ship-checks.test.js test/release-platforms.test.js"
|
|
36
36
|
},
|
|
37
37
|
"optionalDependencies": {
|
|
38
|
-
"@oonacode/win32-x64": "0.3.
|
|
38
|
+
"@oonacode/win32-x64": "0.3.206",
|
|
39
|
+
"@oonacode/linux-x64": "0.3.206"
|
|
39
40
|
}
|
|
40
41
|
}
|
package/postinstall.mjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* oonacode postinstall — link the platform-specific native binaries into ./bin so that
|
|
3
3
|
* `oona` starts without a resolution step.
|
|
4
4
|
*
|
|
5
|
-
* node_modules/
|
|
6
|
-
* node_modules/
|
|
7
|
-
* node_modules/
|
|
8
|
-
* node_modules/
|
|
9
|
-
* node_modules/
|
|
5
|
+
* node_modules/@oonacode/win32-x64/oona.exe -> ./bin/oona.exe (hard link, falls back to copy)
|
|
6
|
+
* node_modules/@oonacode/win32-x64/oonaclaude.exe -> ./bin/oonaclaude.exe (engine sidecar — must sit next to oona.exe)
|
|
7
|
+
* node_modules/@oonacode/win32-x64/web-ui/ -> ./bin/web-ui/ (directory junction, falls back to copy)
|
|
8
|
+
* node_modules/@oonacode/win32-x64/build/ -> ./bin/build/ (native addons, same treatment)
|
|
9
|
+
* node_modules/@oonacode/win32-x64/registry.json -> ./bin/registry.json (hard link, falls back to copy)
|
|
10
10
|
*
|
|
11
11
|
* registry.json has to sit beside the LINKED binary, not only in the platform package: a compiled
|
|
12
12
|
* oona.exe finds the provider registry only as `<dir of the executable>/registry.json`
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
* platform package in place at runtime anyway and prints the same hint if nothing is available.
|
|
24
24
|
*
|
|
25
25
|
* Skipped silently when OONACODE_SKIP_POSTINSTALL=1 or when running inside the oonacode monorepo
|
|
26
|
-
* (the platform package there is a skeleton without binaries
|
|
26
|
+
* (the platform package there is a skeleton without binaries: the published copy is staged outside the
|
|
27
|
+
* repo by packaging/scripts/stage-npm.mjs).
|
|
27
28
|
*/
|
|
28
29
|
import { createRequire } from 'node:module';
|
|
29
30
|
import fs from 'node:fs';
|