pennyrouter 0.3.0 → 0.3.2
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 +14 -9
- package/package.json +2 -2
- package/src/cli.js +626 -133
- package/src/cli.test.js +196 -0
- package/src/harnesses/claude-code.js +81 -32
- package/src/harnesses/opencode.js +82 -8
- package/src/harnesses/opencode.test.js +75 -0
- package/src/launch.js +260 -28
- package/src/launch.test.js +47 -1
- package/src/mcp-register.js +212 -0
- package/src/mcp-register.test.js +200 -0
- package/src/mcp.js +375 -0
- package/src/mcp.test.js +259 -0
- package/src/session.js +9 -5
- package/src/statusline.js +73 -5
- package/src/thread-session-codex.js +218 -0
- package/src/thread-session-codex.test.js +151 -0
- package/src/thread-session.js +215 -0
- package/src/thread-session.test.js +151 -0
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ npx pennyrouter status
|
|
|
23
23
|
Installation opens a browser and requires login to the PennyRouter account that should own
|
|
24
24
|
the new machine key. CLI installs no longer create anonymous ghost accounts.
|
|
25
25
|
|
|
26
|
-
With no `--harness` flag, the interactive installer shows Claude Code and
|
|
26
|
+
With no `--harness` flag, the interactive installer shows Claude Code, Codex, and OpenCode. Detected
|
|
27
27
|
tools start checked. The additional legacy integrations remain available through an explicit
|
|
28
28
|
`--harness <id>` selection or `--all`.
|
|
29
29
|
|
|
@@ -34,15 +34,19 @@ OpenRouter key. PennyRouter-funded provider keys are never an installed-harness
|
|
|
34
34
|
|
|
35
35
|
## Explicit Penny Commands
|
|
36
36
|
|
|
37
|
-
On macOS and Linux, a normal install adds a small `penny` launcher under `~/.local/bin
|
|
37
|
+
On macOS and Linux, a normal install adds a small `penny` launcher under `~/.local/bin`.
|
|
38
|
+
On Windows it installs `penny.cmd` under `%LOCALAPPDATA%\\PennyRouter\\bin` and adds that
|
|
39
|
+
directory to the user PATH:
|
|
38
40
|
|
|
39
41
|
```bash
|
|
40
42
|
penny claude
|
|
41
43
|
penny codex
|
|
44
|
+
penny opencode
|
|
42
45
|
```
|
|
43
46
|
|
|
44
|
-
Arguments are passed through to the native harness, so commands such as `penny claude --resume
|
|
45
|
-
|
|
47
|
+
Arguments are passed through to the native harness, so commands such as `penny claude --resume`,
|
|
48
|
+
`penny codex resume --last`, and `penny opencode --continue` work normally. By default, bare
|
|
49
|
+
`claude`, `codex`, and `opencode` remain
|
|
46
50
|
completely native; their normal configuration files are not redirected. Choose the installer's
|
|
47
51
|
"make PennyRouter the default" option, or pass `--make-default`, to retain the original global
|
|
48
52
|
routing behavior.
|
|
@@ -51,9 +55,10 @@ Existing PennyRouter installs preserve their current bare-command behavior durin
|
|
|
51
55
|
the user explicitly changes it. Close running Claude Code or Codex sessions only when adding or
|
|
52
56
|
removing global bare-command routing. A Penny-only install does not require closing native sessions.
|
|
53
57
|
|
|
54
|
-
The launcher uses a private config
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
The launcher uses a private config, a Claude settings overlay, and a secret-free Codex profile.
|
|
59
|
+
The installer adds marked PATH blocks to the interactive and login startup files for zsh or bash
|
|
60
|
+
on macOS/Linux, or a single user-PATH entry on Windows, when needed; `--no-path-update` skips that
|
|
61
|
+
edit. Open a new terminal after a PATH update.
|
|
57
62
|
|
|
58
63
|
In Claude Code sessions launched with `penny claude`, `/penny help` is an alias for the existing
|
|
59
64
|
`@penny help` syntax. Both forms remain supported. Codex continues to use `@penny` because Codex
|
|
@@ -107,8 +112,8 @@ forward. Use `install` instead when the intent is to change those choices.
|
|
|
107
112
|
|
|
108
113
|
Because the managed tool config is rewritten only for tools whose bare command already routes
|
|
109
114
|
through PennyRouter, a Penny-only install leaves files such as `~/.claude/settings.json`
|
|
110
|
-
untouched and needs no session shutdown.
|
|
111
|
-
|
|
115
|
+
untouched and needs no session shutdown. Updates do not inspect or require stopping running
|
|
116
|
+
harness processes. Unrelated keys and user
|
|
112
117
|
settings inside managed config files are preserved, and re-running `update` is idempotent.
|
|
113
118
|
|
|
114
119
|
Restart Claude Code or Codex afterwards to pick up the refreshed configuration.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pennyrouter",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Install and manage PennyRouter local coding-agent integrations.",
|
|
5
5
|
"homepage": "https://pennyrouter.com",
|
|
6
6
|
"bugs": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
],
|
|
25
25
|
"scripts": {
|
|
26
26
|
"start": "node ./bin/pennyrouter.js",
|
|
27
|
-
"check": "node --check ./bin/pennyrouter.js && node --check ./bin/penny.js && find src -name '*.js' -print0 | xargs -0 -n1 node --check && node src/session.test.js && node src/statusline.test.js && node src/harnesses/claude-code.test.js && node src/harnesses/codex.test.js && node src/launch.test.js"
|
|
27
|
+
"check": "node --check ./bin/pennyrouter.js && node --check ./bin/penny.js && find src -name '*.js' -print0 | xargs -0 -n1 node --check && node src/session.test.js && node src/statusline.test.js && node src/harnesses/claude-code.test.js && node src/harnesses/codex.test.js && node src/harnesses/opencode.test.js && node src/launch.test.js && node src/thread-session.test.js && node src/thread-session-codex.test.js && node src/mcp-register.test.js && node src/mcp.test.js"
|
|
28
28
|
},
|
|
29
29
|
"license": "MIT"
|
|
30
30
|
}
|