shinjuku-shielded 0.3.185 → 0.3.187
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/LICENSE.txt +3 -3
- package/README.md +12 -116
- package/package.json +14 -16
- package/shinjuku-shielded.mjs +16 -0
- package/THIRD_PARTY_NOTICES.txt +0 -6040
- package/manifest.json +0 -1042
- package/shinjuku-wallet.mjs +0 -168172
package/LICENSE.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Shinjuku
|
|
2
|
-
Copyright (c) 2026 Shinjuku
|
|
1
|
+
Shinjuku Shield: the older package name shinjuku-shielded
|
|
2
|
+
Copyright (c) 2026 Shinjuku Shield. All rights reserved.
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
This package only starts the wallet package shinjuku-shield, which has its own license (its LICENSE.txt).
|
package/README.md
CHANGED
|
@@ -1,122 +1,18 @@
|
|
|
1
|
-
#
|
|
1
|
+
# shinjuku-shielded
|
|
2
2
|
|
|
3
|
-
The Shinjuku Shield
|
|
4
|
-
privately from a shielded USDC balance on Solana
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
The older npm name of Shinjuku Shield, a self-custody wallet that pays x402
|
|
4
|
+
URLs privately from a shielded USDC balance on Solana, and pays for AI answers
|
|
5
|
+
privately. This package holds no wallet code: it runs the wallet package
|
|
6
|
+
`shinjuku-shield` at the exact version it names (the same version number as
|
|
7
|
+
this package). Agent apps and installs that still name `shinjuku-shielded`
|
|
8
|
+
keep working with it.
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
`shinjuku-shielded` hold the same files. The command is `shinjuku`.
|
|
11
|
-
|
|
12
|
-
## Set up
|
|
13
|
-
|
|
14
|
-
```sh
|
|
15
|
-
npx -y shinjuku@0.3.185 setup
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Setup offers to install the `shinjuku` command and, on Windows, adds npm's
|
|
19
|
-
folder to your PATH when it is missing: open a new window after setup to
|
|
20
|
-
type `shinjuku`.
|
|
21
|
-
|
|
22
|
-
Setup makes the wallet on this machine, a private passphrase file, and the
|
|
23
|
-
checked proof tools (about 191 MB), and writes `config.json`. It also writes
|
|
24
|
-
a recovery file: copy it to two offline places, then delete it from this
|
|
25
|
-
machine. `--add-to claude-code` (or `claude-desktop`, `cursor`, `codex`) also
|
|
26
|
-
adds the wallet to that app.
|
|
27
|
-
|
|
28
|
-
## The `shinjuku` command
|
|
29
|
-
|
|
30
|
-
Every wallet command works after `shinjuku`, for example `shinjuku balance`,
|
|
31
|
-
`shinjuku chat` or `shinjuku infer start`. `shinjuku help` lists them.
|
|
32
|
-
|
|
33
|
-
## Add it to your agent host
|
|
34
|
-
|
|
35
|
-
Claude Code:
|
|
10
|
+
New installs use the `shinjuku` command:
|
|
36
11
|
|
|
37
12
|
```sh
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Claude Desktop (`claude_desktop_config.json`) or Cursor (`~/.cursor/mcp.json`):
|
|
42
|
-
|
|
43
|
-
```json
|
|
44
|
-
{ "mcpServers": { "shinjuku": { "command": "npx", "args": ["-y", "--no-audit", "--no-fund", "shinjuku-shield@0.3.185", "mcp"] } } }
|
|
13
|
+
npm install -g shinjuku@0.3.187
|
|
14
|
+
shinjuku setup
|
|
45
15
|
```
|
|
46
16
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
configs is `shinjuku`.
|
|
50
|
-
|
|
51
|
-
Codex (the Codex app and Codex CLI read the same file, `~/.codex/config.toml`):
|
|
52
|
-
`shinjuku setup --add-to codex` adds these lines; or add them yourself:
|
|
53
|
-
|
|
54
|
-
```toml
|
|
55
|
-
[mcp_servers.shinjuku]
|
|
56
|
-
command = "npx"
|
|
57
|
-
args = ["-y", "--no-audit", "--no-fund", "shinjuku-shield@0.3.185", "mcp"]
|
|
58
|
-
startup_timeout_sec = 120
|
|
59
|
-
tool_timeout_sec = 300
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Add funds
|
|
63
|
-
|
|
64
|
-
Ask your agent "Add 0.50 USDC to my shielded balance". It calls
|
|
65
|
-
`wallet_add_funds` and gives a one-time address. Send USDC on Solana to it
|
|
66
|
-
from any wallet or exchange. Cents work (from 0.01 USDC), and you need no
|
|
67
|
-
SOL. The USDC becomes private by itself.
|
|
68
|
-
|
|
69
|
-
## Pay
|
|
70
|
-
|
|
71
|
-
Spending limits are optional and off by default: only the balance bounds a
|
|
72
|
-
payment. To set them, give setup `--max-payment`, `--max-session`, or
|
|
73
|
-
`--max-cumulative`, in USDC (`0.05` = 5 cents).
|
|
74
|
-
|
|
75
|
-
`x402_discover` finds sellers in public x402 listings, `x402_preview` shows
|
|
76
|
-
the price, and `x402_pay` pays.
|
|
77
|
-
|
|
78
|
-
## Private AI
|
|
79
|
-
|
|
80
|
-
Each answer is paid from your shielded balance, through Tor: the AI
|
|
81
|
-
provider sees your words, not your IP address, and the chain does not show
|
|
82
|
-
which wallet paid. The wallet keeps no copy of a conversation.
|
|
83
|
-
|
|
84
|
-
- `shinjuku chat`: a chat in this terminal. Each answer has a cap (0.05 USDC
|
|
85
|
-
by default) and each chat has a cap (1 USDC by default).
|
|
86
|
-
- `shinjuku infer start`: a local AI address for an agent app that speaks
|
|
87
|
-
the OpenAI API. It prints the `base_url` (`http://127.0.0.1:11402/v1`) and
|
|
88
|
-
an api key. It keeps running in the background after the terminal closes;
|
|
89
|
-
`shinjuku infer status` shows it, and `shinjuku infer stop` stops it. Your
|
|
90
|
-
agent can also start it with the MCP tool `inference_server`. It serves
|
|
91
|
-
the OpenAI Chat Completions API (`/v1/chat/completions`, streaming and
|
|
92
|
-
function tools too), the OpenAI Responses API (`/v1/responses`, which
|
|
93
|
-
Codex uses) and `/v1/models`. `shinjuku infer status --verbose` prints
|
|
94
|
-
the lines that run a whole Codex session on it.
|
|
95
|
-
- `inference_chat` (MCP): one answer for your agent.
|
|
96
|
-
|
|
97
|
-
## Needs
|
|
98
|
-
|
|
99
|
-
- Node.js 22.21 or later, or Node.js 24 or later (`node --version` shows yours; a `--tor` run needs `NODE_USE_ENV_PROXY`, which Node.js 23 does not have).
|
|
100
|
-
- Windows x64 or Linux. macOS is not supported yet: setup says so before it
|
|
101
|
-
asks anything.
|
|
102
|
-
- Tor, for private AI (and for `--tor`).
|
|
103
|
-
|
|
104
|
-
The package has no install scripts. `node_modules/.bin` and the global npm
|
|
105
|
-
folder must not be writable by other users: the MCP server holds your wallet
|
|
106
|
-
keys.
|
|
107
|
-
|
|
108
|
-
This package holds one wallet release, unchanged. The `shinjukuRelease` and
|
|
109
|
-
`shinjukuSha256` fields in `package.json` name that release. Compare the hash
|
|
110
|
-
with the Releases table in
|
|
111
|
-
[ShinjukuStaition/shinjuku-shield](https://github.com/ShinjukuStaition/shinjuku-shield#releases).
|
|
112
|
-
Versions are published from GitHub Actions with npm provenance.
|
|
113
|
-
|
|
114
|
-
The full guide is
|
|
115
|
-
[ShinjukuStaition/shinjuku-shield](https://github.com/ShinjukuStaition/shinjuku-shield).
|
|
116
|
-
|
|
117
|
-
## License
|
|
118
|
-
|
|
119
|
-
`LICENSE.txt` (the Shinjuku Shielded wallet license, all rights reserved) and
|
|
120
|
-
`THIRD_PARTY_NOTICES.txt` (the open-source packages inside the file) ship
|
|
121
|
-
unchanged from the release. `manifest.json` names the source commit and every
|
|
122
|
-
bundled package.
|
|
17
|
+
Docs, host configs and the release table:
|
|
18
|
+
https://github.com/ShinjukuStaition/shinjuku-shield
|
package/package.json
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "shinjuku-shielded",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"
|
|
5
|
-
"description": "Shinjuku Shielded, the private x402 facilitator on Solana: the self-custody wallet CLI and its MCP server. Shield, pay, and unshield USDC from any MCP agent, under caps you set.",
|
|
6
|
-
"shinjukuRelease": "cab378d1",
|
|
7
|
-
"shinjukuSha256": "cab378d1d911f907711de448e5c6525febcd0e73ff8988efcb4ae7d1fa82e961",
|
|
3
|
+
"version": "0.3.187",
|
|
4
|
+
"description": "The older npm name of Shinjuku Shield. It holds no wallet code: it runs the wallet package shinjuku-shield at this exact version, so apps and installs that name shinjuku-shielded keep working. New installs: npm install -g shinjuku",
|
|
8
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
9
|
-
"author": "Shinjuku
|
|
6
|
+
"author": "Shinjuku Shield",
|
|
10
7
|
"homepage": "https://github.com/ShinjukuStaition/shinjuku-shield#readme",
|
|
11
8
|
"repository": {
|
|
12
9
|
"type": "git",
|
|
13
10
|
"url": "git+https://github.com/ShinjukuStaition/shinjuku-shield.git",
|
|
14
|
-
"directory": "
|
|
11
|
+
"directory": "names/shinjuku-shielded"
|
|
15
12
|
},
|
|
16
13
|
"bugs": {
|
|
17
14
|
"url": "https://github.com/ShinjukuStaition/shinjuku-shield/issues"
|
|
@@ -25,22 +22,23 @@
|
|
|
25
22
|
"privacy",
|
|
26
23
|
"shielded"
|
|
27
24
|
],
|
|
25
|
+
"type": "module",
|
|
28
26
|
"bin": {
|
|
29
|
-
"shinjuku-shield": "shinjuku-
|
|
30
|
-
"shinjuku-shielded": "shinjuku-
|
|
31
|
-
"shinjuku-wallet": "shinjuku-
|
|
27
|
+
"shinjuku-shield": "shinjuku-shielded.mjs",
|
|
28
|
+
"shinjuku-shielded": "shinjuku-shielded.mjs",
|
|
29
|
+
"shinjuku-wallet": "shinjuku-shielded.mjs"
|
|
32
30
|
},
|
|
33
31
|
"files": [
|
|
34
|
-
"shinjuku-
|
|
35
|
-
"LICENSE.txt"
|
|
36
|
-
"THIRD_PARTY_NOTICES.txt",
|
|
37
|
-
"manifest.json"
|
|
32
|
+
"shinjuku-shielded.mjs",
|
|
33
|
+
"LICENSE.txt"
|
|
38
34
|
],
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"shinjuku-shield": "0.3.187"
|
|
37
|
+
},
|
|
39
38
|
"engines": {
|
|
40
39
|
"node": "^22.21.0 || >=24.0.0"
|
|
41
40
|
},
|
|
42
41
|
"publishConfig": {
|
|
43
|
-
"access": "public"
|
|
44
|
-
"provenance": true
|
|
42
|
+
"access": "public"
|
|
45
43
|
}
|
|
46
44
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// `shinjuku-shielded` is the older npm name of Shinjuku Shield. This package holds no wallet code: it runs the wallet
|
|
3
|
+
// package shinjuku-shield (the one package in package.json dependencies) at the exact version named there (publish.yml
|
|
4
|
+
// sets it to this package's version), with the same commands, input, output and exit code. It works as
|
|
5
|
+
// names/shinjuku/shinjuku.mjs does.
|
|
6
|
+
import { realpathSync } from "node:fs";
|
|
7
|
+
import { createRequire } from "node:module";
|
|
8
|
+
import { pathToFileURL } from "node:url";
|
|
9
|
+
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
const [walletPackage] = Object.keys(require("./package.json").dependencies);
|
|
12
|
+
const wallet = realpathSync(require.resolve(`${walletPackage}/shinjuku-wallet.mjs`));
|
|
13
|
+
// The wallet runs its command when it is the script node started (argv[1]), and its background steps start that same
|
|
14
|
+
// file. It reads its version from the package.json and manifest.json beside that file (shinjuku-shield's).
|
|
15
|
+
process.argv[1] = wallet;
|
|
16
|
+
await import(pathToFileURL(wallet).href);
|