@lllanyard/cli 0.1.2 → 0.1.4
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 +81 -9
- package/dist/index.js +318 -21
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -51,9 +51,10 @@ Compatibility notes:
|
|
|
51
51
|
| `tool add <name> --env VAR=provider[:label] [--allow-host H] [--kill-on-leak] [--pass-env V] [--inherit-env] [--no-scrub] -- <command> [args…]` / `list` / `remove` | Approve a command (e.g. an MCP server) to receive keys as environment variables, with the safeguards below. |
|
|
52
52
|
| `run <name> [-- args…]` | Run an approved tool with its keys injected and scrubbed from its output. Extra args are appended only if the tool was approved with `--allow-args`. For script tools (python, node, sh, pwsh…) the script file is pinned by hash at approval and `run` refuses if it has changed since; `--allow-args` is refused for bare interpreters (`python3 -c`, `-m`) and launchers (`env`, `xargs`, `sudo`, `npx`). `run --env … -- <cmd>` is a one-off that needs a human to confirm at a terminal. |
|
|
53
53
|
| `scan [paths] [--import --apply [--redact]]` | Find plaintext keys in `.env` files, MCP/IDE configs and shell profiles, then move them into the keychain. Dry run unless `--apply`. |
|
|
54
|
-
| `backup [--out FILE] [--passphrase-file F]` | Write one encrypted file (AES-256-GCM, scrypt passphrase) holding your keys and their metadata, custom providers, approved tools, agents and
|
|
54
|
+
| `backup [--out FILE] [--passphrase-file F]` | Write one encrypted file (AES-256-GCM, scrypt passphrase) holding your keys and their metadata, custom providers, approved tools, agents, license and team server link. Agents are saved as token hashes, so existing agent tokens keep working after a restore. |
|
|
55
55
|
| `restore <file> [--overwrite] [--dry-run] [--passphrase-file F]` | Merge a backup into this machine's keychain or vault. Every item is validated and the key limit checked before anything is written; existing items are kept unless `--overwrite`, and nothing is ever deleted. |
|
|
56
56
|
| `start [--port N]` | Run the proxy (loopback only). Logs JSON lines to stdout. |
|
|
57
|
+
| `team join <https://server:port> [--ca FILE] [--stdin]` / `status` / `leave` | Team: link this LLLanyard to your team's shared proxy. Your keys here stay personal; requests you have no key for go to the team server with your own team token. |
|
|
57
58
|
|
|
58
59
|
## Using it with tools (APIs and MCP servers)
|
|
59
60
|
|
|
@@ -211,8 +212,20 @@ Keys that sat in plaintext should be treated as exposed: after `scan --import`,
|
|
|
211
212
|
|
|
212
213
|
## Tiers
|
|
213
214
|
|
|
214
|
-
|
|
215
|
-
|
|
215
|
+
An *agent* is one AI tool or app you link in (Claude Code, Cursor, an SDK script). Each gets its own agent token.
|
|
216
|
+
|
|
217
|
+
| | Keys | Agent tokens | Where it runs |
|
|
218
|
+
|---|---|---|---|
|
|
219
|
+
| **Free** | 10 | 5 | This computer only |
|
|
220
|
+
| **Pro** | 250 | 10 per user | Shared with up to 3 of one person's own devices (laptop, desktop, home server) |
|
|
221
|
+
| **Team** | 500 | Unlimited | Shared on your network with the other members of your team |
|
|
222
|
+
|
|
223
|
+
Pro and Team also add the usage dashboard. See [pricing](https://lllanyard.app/pricing). Lowering a limit never stops
|
|
224
|
+
tokens you already have.
|
|
225
|
+
|
|
226
|
+
Everything runs on your own computers. Keys never go to us or to any cloud service, and there's no account or telemetry.
|
|
227
|
+
When the proxy is shared, one of your machines holds the keys and the other devices' tools connect to it over your
|
|
228
|
+
network or VPN.
|
|
216
229
|
|
|
217
230
|
### Desktop app and rotation assistant
|
|
218
231
|
|
|
@@ -244,17 +257,53 @@ OpenAI key due for rotation?" or "what is the base URL for GitHub?" and cannot r
|
|
|
244
257
|
passphrase must come from `LLLANYARD_VAULT_PASSPHRASE_FILE` (no prompt is possible on stdio). Note that anything an agent can
|
|
245
258
|
run as your user can also run `lllanyard` directly; the MCP server is a safe *information* channel, not an access boundary.
|
|
246
259
|
|
|
247
|
-
### Sharing with
|
|
260
|
+
### Sharing across your devices (Pro) or with your team (Team)
|
|
248
261
|
|
|
249
|
-
One computer (a small server, or an always-on workstation) holds the real keys
|
|
262
|
+
One computer (a small server, or an always-on workstation) holds the real keys and shares its proxy:
|
|
250
263
|
|
|
251
264
|
```
|
|
252
265
|
lllanyard serve --host 0.0.0.0 --port 3443 --tls-cert cert.pem --tls-key key.pem --allow-host keys.example.com
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Pro: your own devices, up to 3.** Pair each device once. Install LLLanyard on it (it stores no keys there), then:
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
lllanyard device add work-laptop # on the main computer: a one-time code, valid 10 minutes
|
|
272
|
+
lllanyard device join https://keys.example.com:3443 # on the laptop: asks for the code (--ca ca.pem for a private CA)
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
On the paired device:
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
lllanyard exec --remote pwsh -File ./Deploy-App.ps1 # run a script or tool with your keys from the main computer
|
|
279
|
+
lllanyard relay # a fixed local address for apps such as an editor or Claude Desktop
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
`exec --remote` works like `exec`: it reads the script for the variable names of your keys (or takes `--keys github`),
|
|
283
|
+
then asks the main computer for just those keys. They go into that one command's environment, in memory, with any that
|
|
284
|
+
appear in its output redacted, and are gone when it ends: nothing is saved or cached on the device, so the next run asks
|
|
285
|
+
again. The main computer logs each one (`device-keys`: which device, which keys, which command). As with `exec`, a
|
|
286
|
+
script that copies a key somewhere itself can't be stopped.
|
|
287
|
+
|
|
288
|
+
A device paired with `lllanyard device add tablet --no-keys` never receives a key. Its tools go through the main
|
|
289
|
+
computer's proxy instead, using SDK base URLs (`ANTHROPIC_BASE_URL`, `OPENAI_BASE_URL`) and `LLLANYARD_<PROVIDER>_URL`
|
|
290
|
+
(for example `LLLANYARD_GITHUB_URL`). `lllanyard relay` always works this way, for long-running apps.
|
|
291
|
+
|
|
292
|
+
Each device's token works only on the computer it was paired on: LLLanyard on the device sends a hash of its machine ID
|
|
293
|
+
(the hardware UUID on a Mac, the MachineGuid on Windows, `/etc/machine-id` on Linux) with each request, and a copied token
|
|
294
|
+
is refused on any other computer. `lllanyard device list` shows them; `lllanyard device remove work-laptop` frees a place.
|
|
295
|
+
On Pro, agent tokens work on the main computer only. The machine ID is reported by the device, so this stops a token
|
|
296
|
+
being passed around, not someone determined to fake it.
|
|
297
|
+
|
|
298
|
+
**Team: your team, no device limit.** Each teammate's tool gets its own agent token, and points at
|
|
299
|
+
`https://keys.example.com:3443/openai/v1` with that token as the API key:
|
|
300
|
+
|
|
301
|
+
```
|
|
253
302
|
lllanyard agent create alice-laptop --client acme --providers openai --expires 90d
|
|
254
303
|
```
|
|
255
304
|
|
|
256
|
-
|
|
257
|
-
|
|
305
|
+
Devices and teammates can *use* a key but never read it. Revoking a token or removing a device cuts it off within ~10
|
|
306
|
+
seconds.
|
|
258
307
|
|
|
259
308
|
| Safeguard | |
|
|
260
309
|
|---|---|
|
|
@@ -264,11 +313,34 @@ Teammates point their tools at `https://keys.example.com:3443/openai/v1` and use
|
|
|
264
313
|
| Per-person scope | Each token is limited to a client (`--client`), optionally to providers, and can expire (`--expires`) |
|
|
265
314
|
| Audit trail | Every request is logged with agent name and caller address; `lllanyard usage` breaks it down by agent and client |
|
|
266
315
|
| Rate limits + kill switch | Per token, as before |
|
|
267
|
-
|
|
|
316
|
+
| Limits | Agent tokens: Free 5, Pro 10 per user, Team unlimited. Paired devices: Pro 3, Team unlimited |
|
|
268
317
|
|
|
269
318
|
Put it behind a VPN (Tailscale, WireGuard) or a firewall if you can; the lockout and TLS are a second layer, not a reason to
|
|
270
319
|
expose it to the whole internet. `X-Forwarded-For` is deliberately ignored, so a reverse proxy in front shows as one address.
|
|
271
320
|
|
|
321
|
+
### Personal keys alongside the team's (Team)
|
|
322
|
+
|
|
323
|
+
Team members can keep their own keys as well as using the team's. Each member runs their own LLLanyard, which holds
|
|
324
|
+
their personal keys, and links it to the team server with their own token from the team admin:
|
|
325
|
+
|
|
326
|
+
```
|
|
327
|
+
lllanyard team join https://keys.example.com:3443 # prompts for your team token (or --stdin); --ca ca.pem for a private CA
|
|
328
|
+
lllanyard team status # checks the link and lists which keys are personal
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
```
|
|
332
|
+
your laptop ─┐
|
|
333
|
+
your desktop ┼─► your LLLanyard (your keys) ──► team server (the team's keys)
|
|
334
|
+
your server ─┘ on one of your machines on your network
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
Your tools point at your own LLLanyard as usual. A request for a key you hold uses yours, and never reaches the team
|
|
338
|
+
server. A request for anything else goes on to the team server, which adds the team's key. The team server sees your
|
|
339
|
+
team token, not your devices' tokens, so its usage log and revocation work per member. Your devices' own token limits
|
|
340
|
+
(`--providers`) apply first. Your personal keys never leave your machine, and the team's keys never come to it. Sharing
|
|
341
|
+
your LLLanyard between your own devices works as on Pro (`lllanyard serve` and `lllanyard device add`). `lllanyard team leave` removes the link.
|
|
342
|
+
The link is only used while a Team license is active, and the team server must be LLLanyard 0.1.4 or later.
|
|
343
|
+
|
|
272
344
|
**Headless servers and containers: the encrypted file vault.** The OS keychain needs a desktop login, so on a server use
|
|
273
345
|
`LLLANYARD_BACKEND=file`. Everything (keys, agents, tools, license) then lives in one encrypted file,
|
|
274
346
|
`~/.lllanyard/vault.enc` (override with `LLLANYARD_VAULT_PATH`): AES-256-GCM, key from your passphrase via scrypt, atomic
|
|
@@ -322,7 +394,7 @@ LLLanyard is source-available under the **Business Source License 1.1** (`LICENS
|
|
|
322
394
|
In plain words (the license text is what counts):
|
|
323
395
|
|
|
324
396
|
- You can read, copy, modify and **evaluate or develop** with it freely.
|
|
325
|
-
- **Production use** is free within the free tier (10 keys
|
|
397
|
+
- **Production use** is free within the free tier (10 keys and 5 agent tokens, on one computer). Beyond that you need a paid license key
|
|
326
398
|
from Ethan Askew T/A LLLanyard.
|
|
327
399
|
- You **may not remove, bypass or tamper with the license-key checks or usage limits**, or help others do so. Doing it makes
|
|
328
400
|
your use unlicensed, and the license terminates.
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { mkdirSync, mkdtempSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import https from 'node:https';
|
|
3
4
|
import os from 'node:os';
|
|
4
5
|
import path from 'node:path';
|
|
5
6
|
import { Writable } from 'node:stream';
|
|
6
7
|
import { fileURLToPath } from 'node:url';
|
|
7
|
-
import { AgentStore, APP_NAME, createMcpHandler, serveMcpStdio, allProviders, FileBackend, LicenseStore, refreshDue, refreshLicense, MIN_PASSPHRASE, backendKind, defaultBackend, setVaultPassphrase, vaultPassphrase, createUsageLog, parseSince, readUsage, renderDashboard, summarize, usageLogPath, BUILTIN_PROVIDERS, DEFAULT_PORT, KeyringBackend, KeyringStore, ProviderStore, ToolStore, defaultRoots, parseKeyRef, redactFile, rotationStatus, runTool, sandboxSelfTest, scan, createBackup, describeItem, readBackup, restoreBackup, pinScript, findCommand, pinFiles, bindingsForKeys, bindingsForAllKeys, scriptOf, neededEnv, resolveScriptDirs, planScriptRun, describePlan, confirmDialog, stableNodePath, withClaudeDesktopClosed, claudeDesktopRunning, canRestartClaudeDesktop, claudeDesktopStatus, connectClaudeDesktop, disconnectClaudeDesktop, claudeCodeStatus, connectClaudeCode, disconnectClaudeCode, } from '@lllanyard/core';
|
|
8
|
-
import { startEgressProxy, startProxy } from '@lllanyard/proxy';
|
|
8
|
+
import { AgentStore, APP_NAME, TeamStore, DeviceStore, RemoteStore, DEVICE_LIMITS, machineId, normaliseTeamUrl, createMcpHandler, serveMcpStdio, allProviders, FileBackend, LicenseStore, refreshDue, refreshLicense, MIN_PASSPHRASE, backendKind, defaultBackend, setVaultPassphrase, vaultPassphrase, createUsageLog, parseSince, readUsage, renderDashboard, summarize, usageLogPath, BUILTIN_PROVIDERS, DEFAULT_PORT, KeyringBackend, KeyringStore, ProviderStore, ToolStore, defaultRoots, parseKeyRef, redactFile, rotationStatus, runTool, sandboxSelfTest, scan, createBackup, describeItem, readBackup, restoreBackup, pinScript, findCommand, pinFiles, bindingsForKeys, bindingsForAllKeys, scriptOf, neededEnv, resolveScriptDirs, planScriptRun, describePlan, confirmDialog, stableNodePath, withClaudeDesktopClosed, claudeDesktopRunning, canRestartClaudeDesktop, claudeDesktopStatus, connectClaudeDesktop, disconnectClaudeDesktop, claudeCodeStatus, connectClaudeCode, disconnectClaudeCode, } from '@lllanyard/core';
|
|
9
|
+
import { relayEnv, startEgressProxy, startProxy, startRelay } from '@lllanyard/proxy';
|
|
9
10
|
import { openBrowser, startUi } from '@lllanyard/ui';
|
|
10
|
-
const BOOL = new Set(['run', 'remove', 'restart', 'clear', 'stdin', 'allow-argv', 'import', 'redact', 'apply', 'json', 'help', 'allow-local', 'no-scrub', 'no-resolve', 'kill-on-leak', 'inherit-env', 'sandbox', 'no-open', 'print-url', 'overwrite', 'dry-run', 'allow-args']);
|
|
11
|
+
const BOOL = new Set(['no-keys', 'run', 'remove', 'restart', 'clear', 'stdin', 'allow-argv', 'import', 'redact', 'apply', 'json', 'help', 'allow-local', 'no-scrub', 'no-resolve', 'kill-on-leak', 'inherit-env', 'sandbox', 'no-open', 'print-url', 'overwrite', 'dry-run', 'allow-args']);
|
|
11
12
|
const MULTI = new Set(['scripts-dir', 'pin', 'env', 'allow-host', 'pass-env', 'share-ro', 'share-rw']);
|
|
12
13
|
function parse(argv) {
|
|
13
14
|
const pos = [];
|
|
@@ -101,9 +102,123 @@ Run
|
|
|
101
102
|
with keys injected and output redacted (default time limit 600s)
|
|
102
103
|
--scripts-dir DIR (repeat) also lets it run any script in DIR,
|
|
103
104
|
after you click Run in a dialog that shows the script and its keys
|
|
104
|
-
serve --host H --port P --tls-cert F --tls-key F --allow-host NAME share the proxy
|
|
105
|
+
serve --host H --port P --tls-cert F --tls-key F --allow-host NAME share the proxy: your own devices (Pro) or your team (Team)
|
|
106
|
+
team join <https://server:port> [--ca FILE] [--stdin] Team: keep personal keys here, use the team server for the rest
|
|
107
|
+
team status | team leave check or remove the link to the team server
|
|
108
|
+
|
|
109
|
+
Your own devices (Pro: up to 3; the keys stay on the main computer)
|
|
110
|
+
device add <name> [--no-keys] on the main computer: a one-time pairing code (10 minutes);
|
|
111
|
+
--no-keys: the device only goes through the proxy, never gets a key
|
|
112
|
+
device list | device remove <name> the paired devices; removing one frees its place
|
|
113
|
+
device join <https://main:port> [--ca FILE] on the other device: pair it (asks for the code)
|
|
114
|
+
device status | device leave on the other device: check or remove its pairing
|
|
115
|
+
exec --remote <command> [args...] on a paired device: run a command with the keys it needs, fetched from
|
|
116
|
+
the main computer for that run only (in memory, never saved)
|
|
117
|
+
relay [--port N] on a paired device: a local address for AI tools and apps, e.g. an editor
|
|
105
118
|
doctor check OS keychain and sandbox access
|
|
106
119
|
`;
|
|
120
|
+
/** Asks the team server who this token belongs to (no key is used). */
|
|
121
|
+
function teamWhoami(link) {
|
|
122
|
+
return new Promise((resolve, reject) => {
|
|
123
|
+
const u = new URL('/_lllanyard/whoami', link.url);
|
|
124
|
+
const req = https.request(u, { method: 'GET', headers: { authorization: `Bearer ${link.token}` }, timeout: 10_000, minVersion: 'TLSv1.2', ...(link.ca ? { ca: link.ca } : {}) }, (res) => {
|
|
125
|
+
let b = '';
|
|
126
|
+
res.on('data', (d) => (b += d));
|
|
127
|
+
res.on('end', () => {
|
|
128
|
+
if (res.statusCode === 200) {
|
|
129
|
+
try {
|
|
130
|
+
return resolve(JSON.parse(b));
|
|
131
|
+
}
|
|
132
|
+
catch { /* fall through */ }
|
|
133
|
+
}
|
|
134
|
+
reject(new Error(res.statusCode === 401 ? 'The team server did not accept that token.'
|
|
135
|
+
: res.statusCode === 403 ? 'The team server refused this address. Its --allow-host must include ' + u.hostname + '.'
|
|
136
|
+
: res.statusCode === 429 ? 'Too many wrong tokens from this address: the team server has locked it out for 15 minutes.'
|
|
137
|
+
: `The team server answered ${res.statusCode}. Is it running LLLanyard 0.1.4 or later?`));
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
req.on('timeout', () => req.destroy(new Error('No answer from the team server within 10 seconds.')));
|
|
141
|
+
req.on('error', (e) => reject(new Error(`Could not reach the team server: ${e.message}`)));
|
|
142
|
+
req.end();
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/** Asks the main computer who this device is, and the variable names of its keys. */
|
|
146
|
+
function deviceWhoami(link, machine) {
|
|
147
|
+
return new Promise((resolve, reject) => {
|
|
148
|
+
const u = new URL('/_lllanyard/whoami', link.url);
|
|
149
|
+
const req = https.request(u, { method: 'GET', headers: { authorization: `Bearer ${link.token}`, 'x-lllanyard-machine': machine }, timeout: 10_000, minVersion: 'TLSv1.2', ...(link.ca ? { ca: link.ca } : {}) }, (res) => {
|
|
150
|
+
let b = '';
|
|
151
|
+
res.on('data', (d) => (b += d));
|
|
152
|
+
res.on('end', () => {
|
|
153
|
+
if (res.statusCode === 200) {
|
|
154
|
+
try {
|
|
155
|
+
const v = JSON.parse(b);
|
|
156
|
+
return resolve({ name: v.name, vars: v.vars ?? {}, keys: v.keys === true });
|
|
157
|
+
}
|
|
158
|
+
catch { /* fall through */ }
|
|
159
|
+
}
|
|
160
|
+
let msg = '';
|
|
161
|
+
try {
|
|
162
|
+
msg = JSON.parse(b).error ?? '';
|
|
163
|
+
}
|
|
164
|
+
catch { /* */ }
|
|
165
|
+
reject(new Error(res.statusCode === 401 ? (msg || 'The main computer did not accept this device. It may have been removed: pair it again with lllanyard device join.')
|
|
166
|
+
: res.statusCode === 403 ? 'The main computer refused this address. Its --allow-host must include ' + u.hostname + '.'
|
|
167
|
+
: `The main computer answered ${res.statusCode}${msg ? `: ${msg}` : ''}.`));
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
req.on('timeout', () => req.destroy(new Error('No answer from the main computer within 10 seconds.')));
|
|
171
|
+
req.on('error', (e) => reject(new Error(`Could not reach the main computer: ${e.message}`)));
|
|
172
|
+
req.end();
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
/** exec --remote: the keys for one run, by variable name, from the main computer. Never written anywhere. */
|
|
176
|
+
function fetchDeviceKeys(link, machine, vars, tool) {
|
|
177
|
+
return new Promise((resolve, reject) => {
|
|
178
|
+
const body = JSON.stringify({ vars, tool });
|
|
179
|
+
const req = https.request(new URL('/_lllanyard/keys', link.url), { method: 'POST', headers: { authorization: `Bearer ${link.token}`, 'x-lllanyard-machine': machine, 'content-type': 'application/json', 'content-length': Buffer.byteLength(body) }, timeout: 10_000, minVersion: 'TLSv1.2', ...(link.ca ? { ca: link.ca } : {}) }, (res) => {
|
|
180
|
+
let b = '';
|
|
181
|
+
res.on('data', (d) => (b += d));
|
|
182
|
+
res.on('end', () => {
|
|
183
|
+
let v = {};
|
|
184
|
+
try {
|
|
185
|
+
v = JSON.parse(b);
|
|
186
|
+
}
|
|
187
|
+
catch { /* */ }
|
|
188
|
+
if (res.statusCode === 200 && v.keys && typeof v.keys === 'object')
|
|
189
|
+
return resolve(v.keys);
|
|
190
|
+
reject(new Error(v.error ?? `The main computer answered ${res.statusCode}.`));
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
req.on('timeout', () => req.destroy(new Error('No answer from the main computer within 10 seconds.')));
|
|
194
|
+
req.on('error', (e) => reject(new Error(`Could not reach the main computer: ${e.message}`)));
|
|
195
|
+
req.end(body);
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
function pairDevice(url, code, machine, ca) {
|
|
199
|
+
return new Promise((resolve, reject) => {
|
|
200
|
+
const body = JSON.stringify({ code, machine });
|
|
201
|
+
const req = https.request(new URL('/_lllanyard/pair', url), { method: 'POST', headers: { 'content-type': 'application/json', 'content-length': Buffer.byteLength(body) }, timeout: 10_000, minVersion: 'TLSv1.2', ...(ca ? { ca } : {}) }, (res) => {
|
|
202
|
+
let b = '';
|
|
203
|
+
res.on('data', (d) => (b += d));
|
|
204
|
+
res.on('end', () => {
|
|
205
|
+
let v = {};
|
|
206
|
+
try {
|
|
207
|
+
v = JSON.parse(b);
|
|
208
|
+
}
|
|
209
|
+
catch { /* */ }
|
|
210
|
+
if (res.statusCode === 200 && typeof v.token === 'string')
|
|
211
|
+
return resolve(v);
|
|
212
|
+
reject(new Error(res.statusCode === 404 ? 'The main computer does not take devices. Is it running lllanyard serve, version 0.1.4 or later?'
|
|
213
|
+
: res.statusCode === 429 ? 'Too many wrong codes from this address: the main computer has locked it out for 15 minutes.'
|
|
214
|
+
: v.error ?? `The main computer answered ${res.statusCode}.`));
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
req.on('timeout', () => req.destroy(new Error('No answer from the main computer within 10 seconds.')));
|
|
218
|
+
req.on('error', (e) => reject(new Error(`Could not reach the main computer: ${e.message}`)));
|
|
219
|
+
req.end(body);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
107
222
|
async function readStdin() {
|
|
108
223
|
let s = '';
|
|
109
224
|
process.stdin.setEncoding('utf8');
|
|
@@ -408,19 +523,28 @@ async function main() {
|
|
|
408
523
|
return fail('Usage: lllanyard tool add|list|remove');
|
|
409
524
|
}
|
|
410
525
|
case 'exec': {
|
|
411
|
-
// Everything after "exec" (and
|
|
526
|
+
// Everything after "exec" (and optional "--remote" / "--keys a,b") is the command, passed through untouched.
|
|
412
527
|
let argv = process.argv.slice(3);
|
|
413
528
|
let only;
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
argv
|
|
529
|
+
let remote = false;
|
|
530
|
+
for (;;) {
|
|
531
|
+
if (argv[0] === '--remote') {
|
|
532
|
+
remote = true;
|
|
533
|
+
argv = argv.slice(1);
|
|
534
|
+
continue;
|
|
535
|
+
}
|
|
536
|
+
if (argv[0] === '--keys') {
|
|
537
|
+
only = (argv[1] ?? '').split(',').map((x) => x.trim()).filter(Boolean);
|
|
538
|
+
argv = argv.slice(2);
|
|
539
|
+
continue;
|
|
540
|
+
}
|
|
541
|
+
break;
|
|
417
542
|
}
|
|
418
543
|
if (argv[0] === '--')
|
|
419
544
|
argv = argv.slice(1);
|
|
420
545
|
const [command, ...args] = argv;
|
|
421
546
|
if (!command)
|
|
422
|
-
fail('Usage: lllanyard exec <command> [args...] e.g. lllanyard exec pwsh -File ./Deploy-App.ps1 -DryRun\n lllanyard exec --keys github,sendgrid -- <command> [args...] to name the keys yourself');
|
|
423
|
-
const keys = store();
|
|
547
|
+
fail('Usage: lllanyard exec <command> [args...] e.g. lllanyard exec pwsh -File ./Deploy-App.ps1 -DryRun\n lllanyard exec --keys github,sendgrid -- <command> [args...] to name the keys yourself\n lllanyard exec --remote <command> [args...] on a paired device: keys from your main computer');
|
|
424
548
|
// The script being run: the file after an interpreter (python3 x.py, pwsh -File x.ps1), or the command itself.
|
|
425
549
|
let script = null;
|
|
426
550
|
try {
|
|
@@ -435,19 +559,67 @@ async function main() {
|
|
|
435
559
|
}
|
|
436
560
|
catch { /* not a file */ }
|
|
437
561
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
562
|
+
const what = path.basename(command) + (script && path.resolve(command) !== script ? ` ${path.basename(script)}` : '');
|
|
563
|
+
/** VAR → provider[:label] for the keys this command needs, out of `all`. */
|
|
564
|
+
const pick = (all, named) => {
|
|
565
|
+
if (only)
|
|
566
|
+
return named(only);
|
|
442
567
|
if (!script)
|
|
443
|
-
fail(`Can't tell which keys "${command}" needs (it isn't a script file). Name them: lllanyard exec --keys github,sendgrid -- ${command} ...`);
|
|
444
|
-
const all = bindingsForAllKeys(keys);
|
|
568
|
+
fail(`Can't tell which keys "${command}" needs (it isn't a script file). Name them: lllanyard exec ${remote ? '--remote ' : ''}--keys github,sendgrid -- ${command} ...`);
|
|
445
569
|
const { needed, files } = neededEnv(script, Object.keys(all));
|
|
446
|
-
env = Object.fromEntries(needed.map((n) => [n, all[n]]));
|
|
447
570
|
const shown = files.map((f) => path.basename(f));
|
|
448
571
|
process.stderr.write(`lllanyard: giving ${needed.length ? needed.join(', ') : 'no keys'} (checked ${shown.slice(0, 4).join(', ')}${shown.length > 4 ? ` +${shown.length - 4} more` : ''})\n`);
|
|
572
|
+
return Object.fromEntries(needed.map((n) => [n, all[n]]));
|
|
573
|
+
};
|
|
574
|
+
if (remote) {
|
|
575
|
+
// A paired device. No keys are stored here: the main computer sends the ones this run needs, they live only in
|
|
576
|
+
// this command's environment (in memory, output redacted), and are gone when it ends. Nothing is cached.
|
|
577
|
+
const link = new RemoteStore().get() ?? fail('This computer is not paired with your main computer. See: lllanyard device join');
|
|
578
|
+
const machine = machineId();
|
|
579
|
+
const who = await deviceWhoami(link, machine).catch((e) => fail(e.message));
|
|
580
|
+
const host = new URL(link.url).hostname;
|
|
581
|
+
if (who.keys) {
|
|
582
|
+
const env = pick(who.vars, (providers) => {
|
|
583
|
+
const want = new Set(providers.map((p) => p.toLowerCase()));
|
|
584
|
+
const m = Object.fromEntries(Object.entries(who.vars).filter(([, ref]) => want.has(ref.toLowerCase()) || want.has(ref.split(':')[0].toLowerCase())));
|
|
585
|
+
const missing = [...want].filter((p) => !Object.values(m).some((ref) => ref.toLowerCase() === p || ref.split(':')[0].toLowerCase() === p));
|
|
586
|
+
if (missing.length)
|
|
587
|
+
fail(`Your main computer has no key with a variable name for ${missing.join(', ')}. On the main computer: lllanyard env <provider> VAR`);
|
|
588
|
+
return m;
|
|
589
|
+
});
|
|
590
|
+
let leased = Object.keys(env).length ? await fetchDeviceKeys(link, machine, Object.keys(env), what).catch((e) => fail(e.message)) : {};
|
|
591
|
+
const got = Object.keys(leased);
|
|
592
|
+
const gone = Object.keys(env).filter((v) => !got.includes(v));
|
|
593
|
+
if (gone.length)
|
|
594
|
+
fail(`Your main computer did not send ${gone.join(', ')} (the key may have been removed there).`);
|
|
595
|
+
process.stderr.write(`lllanyard: ${got.length ? `${got.join(', ')} from ${host}, for this run only` : `no keys needed from ${host}`}\n`);
|
|
596
|
+
const byRef = new Map(Object.entries(env).map(([v, ref]) => [ref, leased[v]]));
|
|
597
|
+
try {
|
|
598
|
+
process.exitCode = await runTool({ command, args, env, scrub: true, inheritEnv: true }, {
|
|
599
|
+
store: { get: (p, l) => byRef.get(l === 'default' ? p : `${p}:${l}`) ?? byRef.get(`${p}:${l}`) ?? null },
|
|
600
|
+
});
|
|
601
|
+
}
|
|
602
|
+
finally {
|
|
603
|
+
byRef.clear();
|
|
604
|
+
leased = {};
|
|
605
|
+
}
|
|
606
|
+
return;
|
|
607
|
+
}
|
|
608
|
+
// Paired with --no-keys: tools reach the main computer's proxy through a relay for this run only.
|
|
609
|
+
const localToken = 'lly_run_' + (await import('node:crypto')).randomBytes(24).toString('base64url');
|
|
610
|
+
const relay = await startRelay({ url: link.url, deviceToken: link.token, machine, ca: link.ca, localToken });
|
|
611
|
+
process.stderr.write(`lllanyard: through the proxy on ${host} (this device does not receive keys); scripts must use LLLANYARD_<PROVIDER>_URL\n`);
|
|
612
|
+
try {
|
|
613
|
+
const env = { ...process.env, ...relayEnv(relay.base, localToken, who.vars) };
|
|
614
|
+
process.exitCode = await runTool({ command, args, env: {}, scrub: true, inheritEnv: true }, { store: { get: () => null }, env });
|
|
615
|
+
}
|
|
616
|
+
finally {
|
|
617
|
+
relay.close();
|
|
618
|
+
}
|
|
619
|
+
return;
|
|
449
620
|
}
|
|
450
|
-
const
|
|
621
|
+
const keys = store();
|
|
622
|
+
const env = only ? bindingsForKeys(only, keys) : pick(bindingsForAllKeys(keys), () => ({}));
|
|
451
623
|
createUsageLog().write({ ts: new Date().toISOString(), event: 'exec', tool: what, cwd: process.cwd(), keys: Object.keys(env) });
|
|
452
624
|
process.exitCode = await runTool({ command, args, env, scrub: true, inheritEnv: true }, { store: keys });
|
|
453
625
|
return;
|
|
@@ -555,8 +727,14 @@ async function main() {
|
|
|
555
727
|
const port = str(flags.port) ? Number(str(flags.port)) : 3443;
|
|
556
728
|
const s = await startProxy({ port, host, tls, allowedHosts: allowed });
|
|
557
729
|
out(`${APP_NAME} shared proxy on ${tls ? 'https' : 'http'}://${host}:${s.port} (hosts: ${allowed?.join(', ') ?? 'loopback'}). Keys stay in this computer's keychain.`);
|
|
558
|
-
|
|
559
|
-
|
|
730
|
+
if (new LicenseStore().status().tier === 'pro') {
|
|
731
|
+
out('Pro: your own devices, up to 3. Pair each one: lllanyard device add <name>, then on the device: lllanyard device join');
|
|
732
|
+
out('Agent tokens made here work on this computer only. To share with other people, they need Team seats.');
|
|
733
|
+
}
|
|
734
|
+
else {
|
|
735
|
+
out(`Other devices use: base URL https://${allowed?.[0] ?? host}:${s.port}/openai/v1 with their own agent token as the API key.`);
|
|
736
|
+
out('Create a token per AI tool: lllanyard agent create laptop-claude-code --client acme --expires 90d');
|
|
737
|
+
}
|
|
560
738
|
process.on('SIGINT', () => { s.close(); process.exit(0); });
|
|
561
739
|
return;
|
|
562
740
|
}
|
|
@@ -584,7 +762,11 @@ async function main() {
|
|
|
584
762
|
out('\nScripts run with your keys (lllanyard exec)');
|
|
585
763
|
for (const r of sum.scriptRuns)
|
|
586
764
|
out(` ${r.tool.padEnd(22).slice(0, 22)} ${String(r.count).padStart(5)}x last ${r.last.slice(0, 16).replace('T', ' ')} UTC`);
|
|
587
|
-
if (
|
|
765
|
+
if (sum.deviceKeys.length)
|
|
766
|
+
out('\nKeys sent to your paired devices (exec --remote)');
|
|
767
|
+
for (const r of sum.deviceKeys)
|
|
768
|
+
out(` ${r.device.padEnd(16).slice(0, 16)} ${(r.keys.join(', ') || 'none').padEnd(28).slice(0, 28)} ${r.tool.padEnd(22).slice(0, 22)} ${String(r.count).padStart(4)}x last ${r.last.slice(0, 16).replace('T', ' ')} UTC`);
|
|
769
|
+
if (!sum.requests && !sum.scriptRuns.length && !sum.deviceKeys.length)
|
|
588
770
|
out('\nNo requests recorded yet. Start the proxy with: lllanyard start');
|
|
589
771
|
return out('\nVisual dashboard (Pro): lllanyard dashboard');
|
|
590
772
|
}
|
|
@@ -600,6 +782,121 @@ async function main() {
|
|
|
600
782
|
writeFileSync(file, html, { mode: 0o600 });
|
|
601
783
|
return out(`Dashboard written to ${file}. Open it in your browser (it is self-contained and makes no network requests).`);
|
|
602
784
|
}
|
|
785
|
+
case 'team': {
|
|
786
|
+
const sub = pos[0];
|
|
787
|
+
const teams = new TeamStore();
|
|
788
|
+
if (sub === 'join') {
|
|
789
|
+
if (new LicenseStore().status().tier !== 'team')
|
|
790
|
+
fail('Linking to a team server is a Team feature. Activate your Team license first: lllanyard license activate');
|
|
791
|
+
const url = normaliseTeamUrl(pos[1] ?? fail('Usage: lllanyard team join https://keys.example.com:3443 [--ca ca.pem] [--stdin]'));
|
|
792
|
+
const caFile = str(flags.ca);
|
|
793
|
+
const ca = caFile ? readFileSync(caFile, 'utf8') : undefined;
|
|
794
|
+
const token = (await readSecret('Your team token from the team admin (lly_…, input hidden): ', Boolean(flags.stdin))).trim();
|
|
795
|
+
const who = await teamWhoami({ url, token, ca }).catch((e) => fail(e.message));
|
|
796
|
+
teams.set({ url, token, ca });
|
|
797
|
+
out(`Linked to ${url} as "${who.name}"${who.providers ? ` (providers: ${who.providers.join(', ')})` : ''}.`);
|
|
798
|
+
out('Keys you add here stay personal and never leave this computer. Anything you have no key for here goes to the team server.');
|
|
799
|
+
return out('Restart the proxy (lllanyard start, serve or ui) if it is running; it also picks this up within 10 seconds.');
|
|
800
|
+
}
|
|
801
|
+
if (sub === 'leave')
|
|
802
|
+
return out(teams.remove() ? 'Link to the team server removed. Only your personal keys are used now.' : 'Not linked to a team server.');
|
|
803
|
+
if (sub === 'status' || sub === undefined) {
|
|
804
|
+
const link = teams.get();
|
|
805
|
+
if (!link)
|
|
806
|
+
return out('Not linked to a team server. Team members: lllanyard team join https://keys.example.com:3443');
|
|
807
|
+
out(`Team server: ${link.url} (linked ${link.joinedAt.slice(0, 10)}${link.ca ? ', private CA' : ''}).`);
|
|
808
|
+
if (new LicenseStore().status().tier !== 'team')
|
|
809
|
+
out('Not in use: this computer has no active Team license.');
|
|
810
|
+
const who = await teamWhoami(link).catch((e) => { process.exitCode = 1; out(`Problem: ${e.message}`); return null; });
|
|
811
|
+
if (who)
|
|
812
|
+
out(`The team server knows this computer as "${who.name}"${who.providers ? ` (providers: ${who.providers.join(', ')})` : ''}.`);
|
|
813
|
+
return out('Personal keys (here): ' + (store().list().map((k) => k.label === 'default' ? k.provider : `${k.provider}:${k.label}`).join(', ') || 'none') + '. Everything else goes to the team server.');
|
|
814
|
+
}
|
|
815
|
+
return fail('Usage: lllanyard team join <url> | team status | team leave');
|
|
816
|
+
}
|
|
817
|
+
case 'device': {
|
|
818
|
+
const [sub, arg] = pos;
|
|
819
|
+
const devices = new DeviceStore();
|
|
820
|
+
const tier = new LicenseStore().status().tier;
|
|
821
|
+
const limit = DEVICE_LIMITS[tier];
|
|
822
|
+
if (sub === 'add') {
|
|
823
|
+
if (!arg)
|
|
824
|
+
fail('Usage: lllanyard device add <name> e.g. lllanyard device add work-laptop');
|
|
825
|
+
const { code, expires } = devices.invite(arg, limit, { noKeys: Boolean(flags['no-keys']) });
|
|
826
|
+
out(`Pairing code for "${arg.toLowerCase()}" (works once, until ${expires.slice(11, 16)} UTC):\n\n ${code}\n`);
|
|
827
|
+
out('On that device, with LLLanyard installed, run:\n\n lllanyard device join https://<this computer>:<port>\n');
|
|
828
|
+
out(flags['no-keys'] ? 'This computer must be running lllanyard serve. The device will only go through this proxy and never receives a key.'
|
|
829
|
+
: 'This computer must be running lllanyard serve. Nothing is copied to the device: lllanyard exec --remote there gets the keys a command needs for that run only.');
|
|
830
|
+
return out(Number.isFinite(limit) ? `Devices: ${devices.used()} of ${limit} (including this code until it is used or runs out).` : '');
|
|
831
|
+
}
|
|
832
|
+
if (sub === 'list' || sub === undefined) {
|
|
833
|
+
const l = devices.list();
|
|
834
|
+
if (!l.length)
|
|
835
|
+
out('No devices paired. Pair one: lllanyard device add <name>');
|
|
836
|
+
for (const d of l)
|
|
837
|
+
out(`${d.name.padEnd(24)} ${d.pending ? `waiting for its code (until ${d.expires.slice(11, 16)} UTC)` : `paired ${day(d.pairedAt)}`}${d.keys ? '' : ' (proxy only, no keys)'}`);
|
|
838
|
+
if (Number.isFinite(limit) && limit > 0)
|
|
839
|
+
out(`\n${l.length} of ${limit} devices${l.length > limit ? ` (only the first ${limit} paired work on your plan)` : ''}.`);
|
|
840
|
+
const remote = new RemoteStore().get();
|
|
841
|
+
if (remote)
|
|
842
|
+
out(`\nThis computer is itself paired with ${remote.url} as "${remote.name}".`);
|
|
843
|
+
return;
|
|
844
|
+
}
|
|
845
|
+
if (sub === 'remove') {
|
|
846
|
+
if (!arg)
|
|
847
|
+
fail('Usage: lllanyard device remove <name>');
|
|
848
|
+
return out(devices.remove(arg) ? `Removed ${arg}. It stops working within about 10 seconds; its place is free.` : 'No such device.');
|
|
849
|
+
}
|
|
850
|
+
if (sub === 'join') {
|
|
851
|
+
const url = normaliseTeamUrl(arg ?? fail('Usage: lllanyard device join https://main-computer:3443 [--ca ca.pem]'));
|
|
852
|
+
const caFile = str(flags.ca);
|
|
853
|
+
const ca = caFile ? readFileSync(caFile, 'utf8') : undefined;
|
|
854
|
+
const code = (await readSecret('Pairing code from the main computer (lllanyard device add): ', Boolean(flags.stdin))).trim();
|
|
855
|
+
const machine = machineId();
|
|
856
|
+
const r = await pairDevice(url, code, machine, ca).catch((e) => fail(e.message));
|
|
857
|
+
const remote = new RemoteStore();
|
|
858
|
+
remote.set({ url, token: r.token, name: r.name, ...(ca ? { ca } : {}) });
|
|
859
|
+
const who = await deviceWhoami({ url, token: r.token, ca }, machine).catch(() => ({ name: r.name, vars: {} }));
|
|
860
|
+
out(`Paired with ${url} as "${r.name}". No API keys are stored on this computer.`);
|
|
861
|
+
if (Object.keys(who.vars).length)
|
|
862
|
+
out(`Keys you can use: ${Object.keys(who.vars).join(', ')}.`);
|
|
863
|
+
out('\nRun a script or tool with them: lllanyard exec --remote <command> [args...]');
|
|
864
|
+
return out('Give an app a fixed local address: lllanyard relay');
|
|
865
|
+
}
|
|
866
|
+
if (sub === 'status') {
|
|
867
|
+
const link = new RemoteStore().get();
|
|
868
|
+
if (!link)
|
|
869
|
+
return out('This computer is not paired with a main computer. See: lllanyard device join');
|
|
870
|
+
out(`Paired with ${link.url} as "${link.name}" (since ${day(link.pairedAt)}${link.ca ? ', private CA' : ''}).`);
|
|
871
|
+
const who = await deviceWhoami(link, machineId()).catch((e) => { process.exitCode = 1; out(`Problem: ${e.message}`); return null; });
|
|
872
|
+
if (who)
|
|
873
|
+
out(`Working. Keys you can use: ${Object.keys(who.vars).join(', ') || 'none with a variable name yet (set one on the main computer: lllanyard env <provider> VAR)'}.`);
|
|
874
|
+
return;
|
|
875
|
+
}
|
|
876
|
+
if (sub === 'leave')
|
|
877
|
+
return out(new RemoteStore().remove() ? 'Pairing removed from this computer. Also free its place on the main computer: lllanyard device remove <name>' : 'This computer is not paired.');
|
|
878
|
+
return fail('Usage: lllanyard device add|list|remove (main computer) or device join|status|leave (other device)');
|
|
879
|
+
}
|
|
880
|
+
case 'relay': {
|
|
881
|
+
const remote = new RemoteStore();
|
|
882
|
+
const link = remote.get() ?? fail('This computer is not paired with your main computer. See: lllanyard device join');
|
|
883
|
+
const machine = machineId();
|
|
884
|
+
const who = await deviceWhoami(link, machine).catch((e) => fail(e.message));
|
|
885
|
+
const localToken = remote.relayToken();
|
|
886
|
+
const port = str(flags.port) ? Number(str(flags.port)) : DEFAULT_PORT;
|
|
887
|
+
if (!Number.isInteger(port) || port < 1 || port > 65535)
|
|
888
|
+
fail('Invalid port');
|
|
889
|
+
const relay = await startRelay({ url: link.url, deviceToken: link.token, machine, ca: link.ca, localToken, port });
|
|
890
|
+
out(`${APP_NAME} relay on ${relay.base}: requests go to ${link.url} as "${who.name}". Ctrl+C to stop.\n`);
|
|
891
|
+
out('Point your AI tools and apps here. Use this as the API key (it works on this computer only, through the relay):\n');
|
|
892
|
+
out(` ${localToken}\n`);
|
|
893
|
+
const env = relayEnv(relay.base, localToken, who.vars);
|
|
894
|
+
for (const [k, v] of Object.entries(env))
|
|
895
|
+
if (k.endsWith('_URL'))
|
|
896
|
+
out(process.platform === 'win32' ? ` $env:${k}="${v}"` : ` export ${k}=${v}`);
|
|
897
|
+
process.on('SIGINT', () => { relay.close(); process.exit(0); });
|
|
898
|
+
return;
|
|
899
|
+
}
|
|
603
900
|
case 'license': {
|
|
604
901
|
const [sub] = pos;
|
|
605
902
|
const ls = new LicenseStore();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lllanyard/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Keep API keys out of AI agents: keys live in your OS keychain and agents only see placeholder tokens.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"dist"
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@lllanyard/core": "^0.1.
|
|
14
|
-
"@lllanyard/proxy": "^0.1.
|
|
15
|
-
"@lllanyard/ui": "^0.1.
|
|
13
|
+
"@lllanyard/core": "^0.1.4",
|
|
14
|
+
"@lllanyard/proxy": "^0.1.4",
|
|
15
|
+
"@lllanyard/ui": "^0.1.4"
|
|
16
16
|
},
|
|
17
17
|
"license": "BUSL-1.1",
|
|
18
18
|
"engines": {
|