crosscheck-cli 0.0.45 → 0.0.46
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/dist/cli.js +6 -4
- package/dist/cli.js.map +1 -1
- package/dist/onepassword/browser-flow.js +162 -0
- package/dist/onepassword/browser-flow.js.map +1 -0
- package/dist/onepassword/config.js +51 -1
- package/dist/onepassword/config.js.map +1 -1
- package/dist/onepassword/setup.js +46 -4
- package/dist/onepassword/setup.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -29,9 +29,11 @@ Usage:
|
|
|
29
29
|
crosscheck keys Open the browser UI to view, replace, or remove
|
|
30
30
|
provider keys — all applied locally on this machine.
|
|
31
31
|
crosscheck keys setup Interactive wizard for all provider keys.
|
|
32
|
-
crosscheck keys setup --backend 1password
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
crosscheck keys setup --backend 1password Browser wizard: pick which providers read from
|
|
33
|
+
1Password, validate, and switch on (enterprise,
|
|
34
|
+
opt-in, read-only). Add --file to instead validate
|
|
35
|
+
a ~/.crosscheck/1password.json you've already placed
|
|
36
|
+
there yourself (dotfiles, CI provisioning, etc.).
|
|
35
37
|
crosscheck keys add <provider> [--paste] Store one upstream LLM key locally on this machine
|
|
36
38
|
(default: opens a browser form; --paste falls
|
|
37
39
|
back to stdin for CI / headless environments).
|
|
@@ -137,7 +139,7 @@ async function main() {
|
|
|
137
139
|
return;
|
|
138
140
|
}
|
|
139
141
|
if (backendArg === "1password") {
|
|
140
|
-
await runOnePasswordKeysSetup();
|
|
142
|
+
await runOnePasswordKeysSetup({ useFile: rest.includes("--file") });
|
|
141
143
|
return;
|
|
142
144
|
}
|
|
143
145
|
await runKeysSetup();
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,4BAA4B,EAC5B,aAAa,EACb,SAAS,EACT,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser wizard for 1Password setup — same trust pattern as
|
|
3
|
+
* keys-browser-flow.ts: the CLI spins up a localhost HTTP server, opens a
|
|
4
|
+
* Crosscheck (XC)-served form, and the form POSTs the collected config
|
|
5
|
+
* directly back to loopback. No one has to hand-write
|
|
6
|
+
* ~/.crosscheck/1password.json.
|
|
7
|
+
*
|
|
8
|
+
* The page collects authMode + per-provider Vault/Item/Field (combined into
|
|
9
|
+
* an op://vault/item/field reference client-side) — never a secret value,
|
|
10
|
+
* just where to find one. What gets POSTed back is re-validated in full by
|
|
11
|
+
* config.ts's writeOnePasswordConfig() exactly as if it had been hand-typed
|
|
12
|
+
* into the file — the browser is a convenience, not a trust boundary.
|
|
13
|
+
*
|
|
14
|
+
* Security properties (mirrors captureKeysViaBrowser):
|
|
15
|
+
* - State token (32 bytes urlsafe) bound at server-start.
|
|
16
|
+
* - Loopback only — binds 127.0.0.1, never 0.0.0.0.
|
|
17
|
+
* - CORS locked to the served page's origin.
|
|
18
|
+
* - Server accepts exactly one valid POST; subsequent calls 410.
|
|
19
|
+
* - 10-minute timeout; self-terminates after the value lands or expires.
|
|
20
|
+
*/
|
|
21
|
+
import crypto from "node:crypto";
|
|
22
|
+
import http from "node:http";
|
|
23
|
+
import { SERVER_URL } from "../config.js";
|
|
24
|
+
import { openBrowser } from "../open-browser.js";
|
|
25
|
+
const MAX_BATCH_BYTES = 16 * 1024;
|
|
26
|
+
export async function captureOnePasswordConfigViaBrowser(args) {
|
|
27
|
+
const state = crypto.randomBytes(24).toString("base64url");
|
|
28
|
+
const pageBase = args.pageBaseUrl ?? `${SERVER_URL}/cli/1password`;
|
|
29
|
+
const timeoutMs = args.timeoutMs ?? 10 * 60 * 1000;
|
|
30
|
+
return new Promise((resolve, reject) => {
|
|
31
|
+
let captured = null;
|
|
32
|
+
let consumed = false;
|
|
33
|
+
const server = http.createServer((req, res) => {
|
|
34
|
+
if (req.method === "OPTIONS") {
|
|
35
|
+
res.writeHead(204, corsHeaders(pageBase));
|
|
36
|
+
res.end();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (req.method !== "POST") {
|
|
40
|
+
res.writeHead(405, { "content-type": "text/plain", ...corsHeaders(pageBase) });
|
|
41
|
+
res.end("method not allowed");
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (consumed) {
|
|
45
|
+
res.writeHead(410, { "content-type": "text/plain", ...corsHeaders(pageBase) });
|
|
46
|
+
res.end("already used");
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const url = new URL(req.url ?? "/", "http://localhost");
|
|
50
|
+
if (url.pathname !== "/1password") {
|
|
51
|
+
res.writeHead(404, { "content-type": "text/plain", ...corsHeaders(pageBase) });
|
|
52
|
+
res.end("not found");
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
let received = 0;
|
|
56
|
+
const chunks = [];
|
|
57
|
+
req.on("data", (chunk) => {
|
|
58
|
+
received += chunk.length;
|
|
59
|
+
if (received > MAX_BATCH_BYTES) {
|
|
60
|
+
res.writeHead(413, { "content-type": "text/plain", ...corsHeaders(pageBase) });
|
|
61
|
+
res.end("payload too large");
|
|
62
|
+
req.destroy();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
chunks.push(chunk);
|
|
66
|
+
});
|
|
67
|
+
req.on("end", () => {
|
|
68
|
+
if (req.destroyed)
|
|
69
|
+
return;
|
|
70
|
+
let body;
|
|
71
|
+
try {
|
|
72
|
+
body = JSON.parse(Buffer.concat(chunks).toString("utf8"));
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
res.writeHead(400, { "content-type": "text/plain", ...corsHeaders(pageBase) });
|
|
76
|
+
res.end("invalid json");
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (body.state !== state) {
|
|
80
|
+
res.writeHead(403, { "content-type": "text/plain", ...corsHeaders(pageBase) });
|
|
81
|
+
res.end("state mismatch");
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (body.authMode !== "desktop" && body.authMode !== "service-account") {
|
|
85
|
+
res.writeHead(400, { "content-type": "text/plain", ...corsHeaders(pageBase) });
|
|
86
|
+
res.end("invalid authMode");
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const rawMappings = body.mappings && typeof body.mappings === "object" ? body.mappings : {};
|
|
90
|
+
const mappings = {};
|
|
91
|
+
for (const [k, v] of Object.entries(rawMappings)) {
|
|
92
|
+
if (typeof v === "string" && v.trim())
|
|
93
|
+
mappings[k] = v.trim();
|
|
94
|
+
}
|
|
95
|
+
consumed = true;
|
|
96
|
+
captured = { authMode: body.authMode, mappings };
|
|
97
|
+
res.writeHead(200, { "content-type": "application/json", ...corsHeaders(pageBase) });
|
|
98
|
+
res.end(JSON.stringify({ ok: true }));
|
|
99
|
+
setTimeout(() => server.close(), 100);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
let timeoutId;
|
|
103
|
+
server.on("error", (err) => reject(err));
|
|
104
|
+
server.on("close", () => {
|
|
105
|
+
if (timeoutId)
|
|
106
|
+
clearTimeout(timeoutId);
|
|
107
|
+
if (captured)
|
|
108
|
+
resolve(captured);
|
|
109
|
+
});
|
|
110
|
+
server.listen(0, "127.0.0.1", () => {
|
|
111
|
+
const addr = server.address();
|
|
112
|
+
if (!addr || typeof addr === "string") {
|
|
113
|
+
server.close();
|
|
114
|
+
reject(new Error("Could not determine local port."));
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const callback = `http://127.0.0.1:${addr.port}/1password`;
|
|
118
|
+
const qs = new URLSearchParams({
|
|
119
|
+
providers: args.providers.join(","),
|
|
120
|
+
state,
|
|
121
|
+
callback,
|
|
122
|
+
});
|
|
123
|
+
if (args.existingAuthMode)
|
|
124
|
+
qs.set("authMode", args.existingAuthMode);
|
|
125
|
+
if (args.existing && Object.keys(args.existing).length > 0) {
|
|
126
|
+
qs.set("existing", Buffer.from(JSON.stringify(args.existing), "utf8").toString("base64url"));
|
|
127
|
+
}
|
|
128
|
+
const pageUrl = `${pageBase}?${qs.toString()}`;
|
|
129
|
+
// eslint-disable-next-line no-console
|
|
130
|
+
console.log("\n Open this URL in your browser to set up 1Password:");
|
|
131
|
+
// eslint-disable-next-line no-console
|
|
132
|
+
console.log(` ${pageUrl}\n`);
|
|
133
|
+
// eslint-disable-next-line no-console
|
|
134
|
+
console.log(" Waiting for the browser… (10 min timeout; Ctrl-C to cancel)\n");
|
|
135
|
+
openBrowser(pageUrl);
|
|
136
|
+
timeoutId = setTimeout(() => {
|
|
137
|
+
if (!captured) {
|
|
138
|
+
server.close();
|
|
139
|
+
reject(new Error("Timed out waiting for the browser."));
|
|
140
|
+
}
|
|
141
|
+
}, timeoutMs);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
function corsHeaders(origin) {
|
|
146
|
+
let allow = "*";
|
|
147
|
+
try {
|
|
148
|
+
const u = new URL(origin);
|
|
149
|
+
allow = `${u.protocol}//${u.host}`;
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
/* fall through with * */
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
"access-control-allow-origin": allow,
|
|
156
|
+
"access-control-allow-methods": "POST, OPTIONS",
|
|
157
|
+
"access-control-allow-headers": "content-type",
|
|
158
|
+
"access-control-max-age": "600",
|
|
159
|
+
"vary": "origin",
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=browser-flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-flow.js","sourceRoot":"","sources":["../../src/onepassword/browser-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* crosscheck would dutifully resolve and inject it. That's a secret-
|
|
15
15
|
* substitution vector this loader refuses to open.
|
|
16
16
|
*/
|
|
17
|
-
import { existsSync, lstatSync, readFileSync } from "node:fs";
|
|
17
|
+
import { chmodSync, existsSync, lstatSync, mkdirSync, readFileSync, renameSync, writeFileSync, } from "node:fs";
|
|
18
18
|
import os from "node:os";
|
|
19
19
|
import path from "node:path";
|
|
20
20
|
import { parseOpReference } from "./reference.js";
|
|
@@ -111,4 +111,54 @@ export function loadOnePasswordConfig() {
|
|
|
111
111
|
}
|
|
112
112
|
return { ok: true, config: { authMode, mappings } };
|
|
113
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Validate + atomically write ~/.crosscheck/1password.json. Used by the
|
|
116
|
+
* browser wizard (browser-flow.ts) so whatever a page POSTs back is held to
|
|
117
|
+
* EXACTLY the same grammar/provider checks a hand-written file would face on
|
|
118
|
+
* load — the browser is a convenience, never a trust boundary. Rejects the
|
|
119
|
+
* WHOLE write on any invalid entry rather than silently dropping bad ones,
|
|
120
|
+
* since a partially-applied config is easy to miss.
|
|
121
|
+
*/
|
|
122
|
+
export function writeOnePasswordConfig(input) {
|
|
123
|
+
if (input.authMode !== "desktop" && input.authMode !== "service-account") {
|
|
124
|
+
return {
|
|
125
|
+
ok: false,
|
|
126
|
+
error: "invalid-auth-mode",
|
|
127
|
+
detail: `authMode must be "desktop" or "service-account", got ${JSON.stringify(input.authMode)}`,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
const mappings = {};
|
|
131
|
+
for (const [provider, value] of Object.entries(input.mappings)) {
|
|
132
|
+
if (!SUPPORTED_PROVIDERS.has(provider)) {
|
|
133
|
+
return {
|
|
134
|
+
ok: false,
|
|
135
|
+
error: "unknown-provider",
|
|
136
|
+
detail: `"${provider}" is not a supported provider (${[...SUPPORTED_PROVIDERS].join(", ")})`,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
const parsed = parseOpReference(value);
|
|
140
|
+
if (!parsed.ok) {
|
|
141
|
+
return {
|
|
142
|
+
ok: false,
|
|
143
|
+
error: "invalid-reference",
|
|
144
|
+
detail: `mapping for "${provider}": ${parsed.detail}`,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
mappings[provider] = parsed.ref;
|
|
148
|
+
}
|
|
149
|
+
const dir = dataDir();
|
|
150
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
151
|
+
const fp = configFilePath();
|
|
152
|
+
const tmp = `${fp}.tmp`;
|
|
153
|
+
const payload = `${JSON.stringify({ authMode: input.authMode, mappings }, null, 2)}\n`;
|
|
154
|
+
writeFileSync(tmp, payload, { mode: 0o600 });
|
|
155
|
+
renameSync(tmp, fp);
|
|
156
|
+
try {
|
|
157
|
+
chmodSync(fp, 0o600);
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
/* best-effort on platforms without POSIX modes */
|
|
161
|
+
}
|
|
162
|
+
return { ok: true };
|
|
163
|
+
}
|
|
114
164
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/onepassword/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/onepassword/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
* connectivity — the value is discarded immediately, never printed, never
|
|
6
6
|
* stored.
|
|
7
7
|
*/
|
|
8
|
-
import { loadOnePasswordConfig, configFilePath } from "./config.js";
|
|
8
|
+
import { loadOnePasswordConfig, writeOnePasswordConfig, configFilePath } from "./config.js";
|
|
9
9
|
import { checkOpVersion, readOpSecret, MIN_OP_VERSION } from "./op.js";
|
|
10
|
+
import { captureOnePasswordConfigViaBrowser } from "./browser-flow.js";
|
|
10
11
|
import { enableOnePasswordBackend } from "../keychain.js";
|
|
12
|
+
import { SUPPORTED_PROVIDERS } from "../keys-browser-flow.js";
|
|
11
13
|
/**
|
|
12
14
|
* Validate config → `op` version → test-read every mapped provider.
|
|
13
15
|
* Discloses provider NAMES only, never a full op:// reference — matching
|
|
@@ -74,9 +76,49 @@ function printProviderResults(results) {
|
|
|
74
76
|
process.stdout.write(p.ok ? ` ✓ ${p.provider}\n` : ` ✗ ${p.provider}: ${p.error}\n`);
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
|
-
/**
|
|
78
|
-
*
|
|
79
|
-
|
|
79
|
+
/**
|
|
80
|
+
* Orchestrates `crosscheck keys setup --backend 1password`: by default,
|
|
81
|
+
* opens a browser wizard to collect authMode + per-provider Vault/Item/Field
|
|
82
|
+
* (pre-filled with whatever's already configured, so re-running to add one
|
|
83
|
+
* more provider doesn't lose the rest) and writes the config — no one has
|
|
84
|
+
* to hand-edit ~/.crosscheck/1password.json. Pass `{ useFile: true }` (the
|
|
85
|
+
* CLI's `--file` flag) to skip the browser and just validate a config
|
|
86
|
+
* that's already been placed there some other way (dotfiles, CI
|
|
87
|
+
* provisioning, etc.). Either way, ends the same: validate, then (only on
|
|
88
|
+
* success) persist the preference and report what's usable.
|
|
89
|
+
*/
|
|
90
|
+
export async function runOnePasswordKeysSetup(opts = {}) {
|
|
91
|
+
if (!opts.useFile) {
|
|
92
|
+
const existingLoad = loadOnePasswordConfig();
|
|
93
|
+
const existing = existingLoad.ok ? existingLoad.config.mappings : undefined;
|
|
94
|
+
const existingAuthMode = existingLoad.ok ? existingLoad.config.authMode : undefined;
|
|
95
|
+
process.stdout.write("\nLet's set up 1Password in your browser — no file to hand-edit.\n");
|
|
96
|
+
let captured;
|
|
97
|
+
try {
|
|
98
|
+
captured = await captureOnePasswordConfigViaBrowser({
|
|
99
|
+
providers: [...SUPPORTED_PROVIDERS],
|
|
100
|
+
existing,
|
|
101
|
+
existingAuthMode,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
process.stderr.write(`\n✗ ${err instanceof Error ? err.message : String(err)}\n\n`);
|
|
106
|
+
process.exitCode = 1;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (Object.keys(captured.mappings).length === 0) {
|
|
110
|
+
process.stderr.write("\n✗ No providers were mapped — nothing to enable.\n\n");
|
|
111
|
+
process.exitCode = 1;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const written = writeOnePasswordConfig(captured);
|
|
115
|
+
if (!written.ok) {
|
|
116
|
+
process.stderr.write(`\n✗ ${written.error}: ${written.detail}\n\n`);
|
|
117
|
+
process.exitCode = 1;
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
process.stdout.write(`✓ Saved ${configFilePath()}\n`);
|
|
121
|
+
}
|
|
80
122
|
process.stdout.write("\nValidating your 1Password configuration...\n");
|
|
81
123
|
const result = await validateOnePasswordSetup();
|
|
82
124
|
if (!result.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/onepassword/setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/onepassword/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crosscheck-cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.46",
|
|
4
4
|
"description": "Crosscheck — multi-LLM orchestration MCP for the terminal. Single-machine activation, BYO upstream LLM keys, content-free telemetry. Installs into Claude Code in one command.",
|
|
5
5
|
"license": "SEE LICENSE.md",
|
|
6
6
|
"type": "module",
|