oonacode 0.3.205 → 0.3.207

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 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 through your own gateway, and personal remote access to your own machines.
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 | `oonacode-win32-x64` | shipped |
31
- | Windows arm64 | `oonacode-win32-arm64` | later (x64 build runs under emulation) |
32
- | Linux x64 | `oonacode-linux-x64` | later |
33
- | Linux arm64 | `oonacode-linux-arm64` | later |
34
- | macOS x64 | `oonacode-darwin-x64` | later |
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), `oonaclaude.exe` (the pinned
38
- Claude Code engine sidecar — it must live on real disk next to `oona.exe`), the local web UI assets
39
- (`web-ui/`) and native addons (`build/`).
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) → `oonacode-win32-x64/oona.exe`
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 Claude subscription always runs direct to Anthropic from your PC; API-key providers go
63
- through your own OonaCode gateway. No credential is ever shared between users.
64
- - `private: true` is set on this package until the first publish (TODO: flip in `package.json`
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/oonacode-win32-x64/oona.exe
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 published; the remaining platforms (arm64, darwin) are deferred —
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', // built (mac-builder.sh), NOT published: unsigned
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: a build exists (packaging/mac-builder.sh) but is NOT published — it is unsigned, and Apple
45
- // signing is the owner's decision (2026-10-03) — so npm has nothing to install on a Mac, and says so
46
- // in words instead of a list of fixes that cannot work.
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: OonaCode publishes no macOS build yet (${PLATFORM_KEY}): the macOS app is not signed yet,`,
49
- ' so nothing for a Mac is on npm or on oonacode.oonak.ai.',
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.205",
3
+ "version": "0.3.207",
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,6 @@
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.205"
38
+ "@oonacode/win32-x64": "0.3.207"
39
39
  }
40
40
  }
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/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)
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 until the release workflow injects them).
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';