crosscheck-cli 0.0.49 → 0.0.50
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/activate.js +1 -1
- package/dist/activate.js.map +1 -1
- package/dist/cli-enterprise.js +121 -0
- package/dist/cli-enterprise.js.map +1 -0
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/doctor.js +6 -4
- package/dist/doctor.js.map +1 -1
- package/dist/enterprise/compliance.js +40 -0
- package/dist/enterprise/compliance.js.map +1 -0
- package/dist/enterprise/doctor.js +53 -0
- package/dist/enterprise/doctor.js.map +1 -0
- package/dist/enterprise/install.js +73 -0
- package/dist/enterprise/install.js.map +1 -0
- package/dist/enterprise/keys-setup.js +84 -0
- package/dist/enterprise/keys-setup.js.map +1 -0
- package/dist/enterprise/login.js +15 -0
- package/dist/enterprise/login.js.map +1 -0
- package/dist/enterprise/policy.js +66 -0
- package/dist/enterprise/policy.js.map +1 -0
- package/dist/heartbeat.js +23 -3
- package/dist/heartbeat.js.map +1 -1
- package/dist/keychain.js +82 -3
- package/dist/keychain.js.map +1 -1
- package/dist/mcp-register.js +15 -8
- package/dist/mcp-register.js.map +1 -1
- package/dist/mcp.js +40 -9
- package/dist/mcp.js.map +1 -1
- package/package.json +3 -2
package/dist/activate.js
CHANGED
|
@@ -92,7 +92,7 @@ export async function activateDeviceFlow(opts) {
|
|
|
92
92
|
for (const [k, v] of Object.entries(opts?.extraVerifyParams ?? {})) {
|
|
93
93
|
parts.push(`${encodeURIComponent(k)}=${encodeURIComponent(v)}`);
|
|
94
94
|
}
|
|
95
|
-
const verifyUrl = `${start.verificationUrl}?${parts.join("&")}`;
|
|
95
|
+
const verifyUrl = `${opts?.verificationUrlOverride ?? start.verificationUrl}?${parts.join("&")}`;
|
|
96
96
|
printActivationPrompt(verifyUrl, start.userCode, start.expiresIn);
|
|
97
97
|
openBrowser(verifyUrl);
|
|
98
98
|
// Compute the machine fingerprint once and send it on every poll so the
|
package/dist/activate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activate.js","sourceRoot":"","sources":["../src/activate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAgC1B,2DAA2D;AAC3D,KAAK,UAAU,iBAAiB,CAAC,CAAkB;IACjD,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAc;IAC3C,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAChC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,kBAAkB,EAAE,CAAC;AAC9B,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,cAAc,CAAC,KAAa;IACzC,MAAM,eAAe,GAAG,MAAM,sBAAsB,EAAE,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IAEpC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,UAAU,0BAA0B,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,KAAK;YACtB,eAAe;YACf,WAAW;YACX,UAAU;SACX,CAAC;KACH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAmB,CAAC;IACvD,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1D,MAAM,KAAK,GACT,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;YACtB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1D,CAAC,CAAC,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC9B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"activate.js","sourceRoot":"","sources":["../src/activate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* crosscheck-enterprise CLI entry point. Deliberately a much smaller command
|
|
4
|
+
* surface than the standard crosscheck-cli's cli.ts — no `keys store`
|
|
5
|
+
* (file/keychain), no `keys add|remove` free-for-all, no `--backend`
|
|
6
|
+
* choice, no Google-OAuth activate/login. Every one of those omissions is
|
|
7
|
+
* the point, not an oversight: this bin only ever signs in via the org's
|
|
8
|
+
* SSO and only ever stores keys in 1Password, restricted to whatever the
|
|
9
|
+
* org admin has currently allowed (see /account/enterprise).
|
|
10
|
+
*/
|
|
11
|
+
import { runEnterpriseInstall } from "./enterprise/install.js";
|
|
12
|
+
import { enterpriseLogin } from "./enterprise/login.js";
|
|
13
|
+
import { runEnterpriseOnePasswordKeysSetup } from "./enterprise/keys-setup.js";
|
|
14
|
+
import { runEnterpriseDoctorChecks } from "./enterprise/doctor.js";
|
|
15
|
+
import { runDoctor } from "./doctor.js";
|
|
16
|
+
import { runHeartbeat } from "./heartbeat.js";
|
|
17
|
+
import { deleteSecret, listSecrets, ONEPASSWORD_LIST_PLACEHOLDER } from "./keychain.js";
|
|
18
|
+
import { startMcpServer } from "./mcp.js";
|
|
19
|
+
const HELP = `crosscheck-enterprise — multi-LLM orchestration MCP for the terminal (enterprise)
|
|
20
|
+
|
|
21
|
+
Usage:
|
|
22
|
+
crosscheck-enterprise install Sign in via your org's SSO, set up 1Password-backed keys
|
|
23
|
+
(restricted to what your admin has allowed), and register
|
|
24
|
+
with Claude Code. Run this first.
|
|
25
|
+
crosscheck-enterprise login Sign in via your organization's SSO.
|
|
26
|
+
crosscheck-enterprise deactivate Wipe local credentials.
|
|
27
|
+
crosscheck-enterprise heartbeat Check status against the server.
|
|
28
|
+
crosscheck-enterprise keys setup 1Password wizard, restricted to your org's allowed providers.
|
|
29
|
+
crosscheck-enterprise serve Start the MCP server (stdio), enforcing your org's provider policy.
|
|
30
|
+
crosscheck-enterprise doctor Diagnose a broken install, including org-policy compliance.
|
|
31
|
+
crosscheck-enterprise help Show this help.
|
|
32
|
+
|
|
33
|
+
Every provider key lives in 1Password — there is no local file or OS keychain option in this
|
|
34
|
+
build. Ask your admin which providers are enabled at /account/enterprise.
|
|
35
|
+
|
|
36
|
+
Documentation: https://crosscheckagent.com/install
|
|
37
|
+
`;
|
|
38
|
+
async function main() {
|
|
39
|
+
const [, , cmd, ...rest] = process.argv;
|
|
40
|
+
switch (cmd) {
|
|
41
|
+
case undefined:
|
|
42
|
+
case "help":
|
|
43
|
+
case "--help":
|
|
44
|
+
case "-h":
|
|
45
|
+
// eslint-disable-next-line no-console
|
|
46
|
+
console.log(HELP);
|
|
47
|
+
return;
|
|
48
|
+
case "install": {
|
|
49
|
+
await runEnterpriseInstall();
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
case "login": {
|
|
53
|
+
await enterpriseLogin();
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
case "deactivate": {
|
|
57
|
+
const items = await listSecrets();
|
|
58
|
+
let removed = 0;
|
|
59
|
+
let leftInOnePassword = 0;
|
|
60
|
+
for (const item of items) {
|
|
61
|
+
if (item.password === ONEPASSWORD_LIST_PLACEHOLDER) {
|
|
62
|
+
leftInOnePassword += 1;
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
await deleteSecret(item.account);
|
|
66
|
+
removed += 1;
|
|
67
|
+
}
|
|
68
|
+
// eslint-disable-next-line no-console
|
|
69
|
+
console.log(`✓ Removed ${removed} stored credential${removed === 1 ? "" : "s"}` +
|
|
70
|
+
(leftInOnePassword > 0
|
|
71
|
+
? ` (${leftInOnePassword} managed by 1Password left untouched — nothing was ever copied locally).`
|
|
72
|
+
: ".") +
|
|
73
|
+
" To set up again, run `crosscheck-enterprise install`.");
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
case "heartbeat": {
|
|
77
|
+
const r = await runHeartbeat({ checkPolicyCompliance: true });
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
console.log(`status=${r.status}${r.reason ? ` reason=${r.reason}` : ""}`);
|
|
80
|
+
if (r.status === "revoked")
|
|
81
|
+
process.exit(2);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
case "doctor": {
|
|
85
|
+
const shared = await runDoctor();
|
|
86
|
+
const ent = await runEnterpriseDoctorChecks();
|
|
87
|
+
const critical = shared.critical + ent.critical;
|
|
88
|
+
if (critical > 0)
|
|
89
|
+
process.exit(1);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
case "keys": {
|
|
93
|
+
const sub = rest[0];
|
|
94
|
+
if (sub === "setup" || sub === undefined) {
|
|
95
|
+
await runEnterpriseOnePasswordKeysSetup();
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// eslint-disable-next-line no-console
|
|
99
|
+
console.error("usage: crosscheck-enterprise keys setup\n" +
|
|
100
|
+
" (no add|remove|store|list here — every key is managed in 1Password directly)");
|
|
101
|
+
process.exit(1);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
case "serve": {
|
|
105
|
+
await startMcpServer({ enforceProviderPolicy: true });
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
default:
|
|
109
|
+
// eslint-disable-next-line no-console
|
|
110
|
+
console.error(`Unknown command: ${cmd}\n`);
|
|
111
|
+
// eslint-disable-next-line no-console
|
|
112
|
+
console.log(HELP);
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
main().catch((err) => {
|
|
117
|
+
// eslint-disable-next-line no-console
|
|
118
|
+
console.error(err instanceof Error ? err.message : err);
|
|
119
|
+
process.exit(1);
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=cli-enterprise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-enterprise.js","sourceRoot":"","sources":["../src/cli-enterprise.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor.js
CHANGED
|
@@ -22,7 +22,7 @@ import { loadOnePasswordConfig } from "./onepassword/config.js";
|
|
|
22
22
|
import { checkOpVersion, MIN_OP_VERSION } from "./onepassword/op.js";
|
|
23
23
|
import { validateOnePasswordSetup } from "./onepassword/setup.js";
|
|
24
24
|
const require = createRequire(import.meta.url);
|
|
25
|
-
function line(level, msg) {
|
|
25
|
+
export function line(level, msg) {
|
|
26
26
|
const mark = level === "ok" ? "✓" : level === "warn" ? "!" : "✗";
|
|
27
27
|
// eslint-disable-next-line no-console
|
|
28
28
|
console.log(` ${mark} ${msg}`);
|
|
@@ -320,9 +320,11 @@ export async function runDoctor() {
|
|
|
320
320
|
if (critical > 0) {
|
|
321
321
|
// eslint-disable-next-line no-console
|
|
322
322
|
console.log(`${critical} critical issue${critical === 1 ? "" : "s"} found. Fix the ✗ items above, then reconnect MCP in Claude Code.\n`);
|
|
323
|
-
process.exit(1);
|
|
324
323
|
}
|
|
325
|
-
|
|
326
|
-
|
|
324
|
+
else {
|
|
325
|
+
// eslint-disable-next-line no-console
|
|
326
|
+
console.log("All clear. If Claude Code still can't connect, reconnect MCP servers (or restart it).\n");
|
|
327
|
+
}
|
|
328
|
+
return { critical };
|
|
327
329
|
}
|
|
328
330
|
//# sourceMappingURL=doctor.js.map
|
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared compliance check: is this machine actually doing what its org's
|
|
3
|
+
* enterprise policy requires? Used by both `doctor` (human-readable report)
|
|
4
|
+
* and the heartbeat self-report (the one signal that can trigger a
|
|
5
|
+
* server-side revocation — see crosscheck-site's decidePolicyCompliance).
|
|
6
|
+
*
|
|
7
|
+
* Compliant means BOTH:
|
|
8
|
+
* 1. The secret backend is 1password-only (no local file/keychain keys).
|
|
9
|
+
* 2. Every locally-configured provider key is on the org's current
|
|
10
|
+
* allowlist (no leftover key for a provider the admin has since
|
|
11
|
+
* disabled).
|
|
12
|
+
*/
|
|
13
|
+
import { CANONICAL_PROVIDERS } from "../key-format.js";
|
|
14
|
+
import { getSecret, secretBackend } from "../keychain.js";
|
|
15
|
+
import { fetchProviderPolicy } from "./policy.js";
|
|
16
|
+
export async function checkCompliance(jwt) {
|
|
17
|
+
const backendOk = secretBackend() === "1password-only";
|
|
18
|
+
const policy = await fetchProviderPolicy(jwt);
|
|
19
|
+
const allowedSet = new Set(policy?.allowedProviders ?? []);
|
|
20
|
+
const outOfPolicyProviders = [];
|
|
21
|
+
for (const provider of CANONICAL_PROVIDERS) {
|
|
22
|
+
let configured = false;
|
|
23
|
+
try {
|
|
24
|
+
configured = (await getSecret(`key:${provider}`)) !== null;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
configured = false; // unmapped in 1password-only mode -> not configured
|
|
28
|
+
}
|
|
29
|
+
if (configured && !allowedSet.has(provider)) {
|
|
30
|
+
outOfPolicyProviders.push(provider);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
compliant: backendOk && outOfPolicyProviders.length === 0,
|
|
35
|
+
policy,
|
|
36
|
+
backendOk,
|
|
37
|
+
outOfPolicyProviders,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=compliance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../src/enterprise/compliance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAuB,MAAM,aAAa,CAAC;AASvE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,SAAS,GAAG,aAAa,EAAE,KAAK,gBAAgB,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAE3D,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC3C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,GAAG,KAAK,CAAC,CAAC,oDAAoD;QAC1E,CAAC;QACD,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,SAAS,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC;QACzD,MAAM;QACN,SAAS;QACT,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* crosscheck-enterprise-only doctor checks, run in addition to the shared
|
|
3
|
+
* runDoctor() checks (Node version, secret store, activation, etc.). Two
|
|
4
|
+
* things the standard CLI has no concept of, both computed by the shared
|
|
5
|
+
* checkCompliance() helper (also used by the heartbeat self-report):
|
|
6
|
+
*
|
|
7
|
+
* 1. Is the 1Password-only backend actually active? (Not just configured
|
|
8
|
+
* — actually the CURRENT backend. A user who somehow ran the legacy
|
|
9
|
+
* `--backend 1password` flow is caught here, not silently accepted.)
|
|
10
|
+
* 2. Are locally-configured provider keys a subset of the org's current
|
|
11
|
+
* allowlist? A key left over from before an admin disabled a provider
|
|
12
|
+
* would otherwise sit there unnoticed until the next `serve` filters
|
|
13
|
+
* it out anyway — this surfaces it explicitly.
|
|
14
|
+
*/
|
|
15
|
+
import { getSecret } from "../keychain.js";
|
|
16
|
+
import { line } from "../doctor.js";
|
|
17
|
+
import { checkCompliance } from "./compliance.js";
|
|
18
|
+
export async function runEnterpriseDoctorChecks() {
|
|
19
|
+
let critical = 0;
|
|
20
|
+
const jwt = await getSecret("jwt");
|
|
21
|
+
if (!jwt) {
|
|
22
|
+
line("fail", "Not signed in — run `crosscheck-enterprise login`.");
|
|
23
|
+
critical += 1;
|
|
24
|
+
return { critical };
|
|
25
|
+
}
|
|
26
|
+
const report = await checkCompliance(jwt);
|
|
27
|
+
if (report.backendOk) {
|
|
28
|
+
line("ok", "Secret store is 1Password-only (enterprise mode).");
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
line("fail", "Secret store is not 1Password-only. Run `crosscheck-enterprise keys setup` to fix — " +
|
|
32
|
+
"crosscheck-enterprise never uses the local file store or OS keychain for provider keys.");
|
|
33
|
+
critical += 1;
|
|
34
|
+
}
|
|
35
|
+
if (!report.policy) {
|
|
36
|
+
line("warn", "Could not reach the server to check your organization's provider policy (offline?). " +
|
|
37
|
+
"Using the last cached policy, if any.");
|
|
38
|
+
return { critical };
|
|
39
|
+
}
|
|
40
|
+
if (report.policy.allowedProviders.length === 0) {
|
|
41
|
+
line("warn", "Your organization hasn't enabled any providers yet — ask your admin.");
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
line("ok", `Organization policy v${report.policy.version}: ${report.policy.allowedProviders.join(", ")} allowed.`);
|
|
45
|
+
}
|
|
46
|
+
if (report.outOfPolicyProviders.length > 0) {
|
|
47
|
+
line("warn", `Key(s) configured for provider(s) your org no longer allows: ${report.outOfPolicyProviders.join(", ")}. ` +
|
|
48
|
+
"These are already filtered out at `serve` time, but consider removing the mapping in " +
|
|
49
|
+
"1Password to avoid confusion.");
|
|
50
|
+
}
|
|
51
|
+
return { critical };
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/enterprise/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,MAAM,EAAE,oDAAoD,CAAC,CAAC;QACnE,QAAQ,IAAI,CAAC,CAAC;QACd,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAE1C,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,mDAAmD,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,IAAI,CACF,MAAM,EACN,sFAAsF;YACpF,yFAAyF,CAC5F,CAAC;QACF,QAAQ,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CACF,MAAM,EACN,sFAAsF;YACpF,uCAAuC,CAC1C,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,sEAAsE,CAAC,CAAC;IACvF,CAAC;SAAM,CAAC;QACN,IAAI,CACF,IAAI,EACJ,wBAAwB,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CACvG,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,IAAI,CACF,MAAM,EACN,gEAAgE,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACxG,uFAAuF;YACvF,+BAA+B,CAClC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `crosscheck-enterprise install` — the enterprise analog of install.ts's
|
|
3
|
+
* runInstall(): activate/sign-in, set up keys, register the MCP server.
|
|
4
|
+
* Idempotent, same as the standard install (safe to re-run).
|
|
5
|
+
*
|
|
6
|
+
* Differences from the standard flow, by design (see the org bootstrap
|
|
7
|
+
* model in schema.ts): sign-in is always SSO (enterpriseLogin, never
|
|
8
|
+
* Google), and keys setup is always the restricted 1Password-only wizard
|
|
9
|
+
* scoped to the org's current provider allowlist — there is no "skip keys,
|
|
10
|
+
* add later" shortcut here the way the standard flow has, because without
|
|
11
|
+
* at least one allowed provider mapped there's nothing this bin can do.
|
|
12
|
+
*/
|
|
13
|
+
import { getSecret } from "../keychain.js";
|
|
14
|
+
import { verifyJwt } from "../jwt.js";
|
|
15
|
+
import { enterpriseLogin } from "./login.js";
|
|
16
|
+
import { runEnterpriseOnePasswordKeysSetup } from "./keys-setup.js";
|
|
17
|
+
import { registerMcpServer } from "../mcp-register.js";
|
|
18
|
+
/** Distinct npm package name from the standard CLI's "crosscheck-cli" —
|
|
19
|
+
* see packaging/crosscheck-enterprise/package.json, the thin shim that
|
|
20
|
+
* actually gets published under this name. */
|
|
21
|
+
const CLI_PACKAGE_ENTERPRISE = "crosscheck-enterprise";
|
|
22
|
+
function log(s = "") {
|
|
23
|
+
// eslint-disable-next-line no-console
|
|
24
|
+
console.log(s);
|
|
25
|
+
}
|
|
26
|
+
function step(n, total, title) {
|
|
27
|
+
log("");
|
|
28
|
+
log(`[${n}/${total}] ${title}`);
|
|
29
|
+
}
|
|
30
|
+
async function alreadySignedIn() {
|
|
31
|
+
const jwt = await getSecret("jwt");
|
|
32
|
+
if (!jwt)
|
|
33
|
+
return false;
|
|
34
|
+
const v = await verifyJwt(jwt);
|
|
35
|
+
return v.ok;
|
|
36
|
+
}
|
|
37
|
+
export async function runEnterpriseInstall() {
|
|
38
|
+
const TOTAL = 3;
|
|
39
|
+
log("crosscheck-enterprise — let's get you set up.");
|
|
40
|
+
step(1, TOTAL, "Sign in via your organization's SSO");
|
|
41
|
+
if (await alreadySignedIn()) {
|
|
42
|
+
log("✓ Already signed in on this machine.");
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
await enterpriseLogin();
|
|
46
|
+
}
|
|
47
|
+
step(2, TOTAL, "Set up provider keys (1Password)");
|
|
48
|
+
await runEnterpriseOnePasswordKeysSetup();
|
|
49
|
+
step(3, TOTAL, "Register the MCP server with Claude Code");
|
|
50
|
+
const reg = registerMcpServer({
|
|
51
|
+
name: "crosscheck-enterprise",
|
|
52
|
+
command: "npx",
|
|
53
|
+
args: ["-y", `${CLI_PACKAGE_ENTERPRISE}@latest`, "serve"],
|
|
54
|
+
});
|
|
55
|
+
if (reg.method === "cli") {
|
|
56
|
+
log("✓ Registered with Claude Code (user scope) via the claude CLI.");
|
|
57
|
+
}
|
|
58
|
+
else if (reg.method === "file") {
|
|
59
|
+
log(`✓ Registered in ${reg.configPath} (user scope).`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
log("! Couldn't register automatically. Add this to your Claude Code MCP config:");
|
|
63
|
+
log("");
|
|
64
|
+
log(reg.snippet);
|
|
65
|
+
log("");
|
|
66
|
+
log(` (reason: ${reg.reason})`);
|
|
67
|
+
}
|
|
68
|
+
log("");
|
|
69
|
+
log("✓ crosscheck-enterprise is installed.");
|
|
70
|
+
log("");
|
|
71
|
+
log('Reconnect MCP servers in Claude Code (or restart it), then ask it to "use crosscheck to confer on …".');
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/enterprise/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;+CAE+C;AAC/C,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAEvD,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE;IACjB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,IAAI,CAAC,CAAS,EAAE,KAAa,EAAE,KAAa;IACnD,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC,EAAE,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,KAAK,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAErD,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,qCAAqC,CAAC,CAAC;IACtD,IAAI,MAAM,eAAe,EAAE,EAAE,CAAC;QAC5B,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,kCAAkC,CAAC,CAAC;IACnD,MAAM,iCAAiC,EAAE,CAAC;IAE1C,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,0CAA0C,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,iBAAiB,CAAC;QAC5B,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,sBAAsB,SAAS,EAAE,OAAO,CAAC;KAC1D,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,gEAAgE,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACjC,GAAG,CAAC,mBAAmB,GAAG,CAAC,UAAU,gBAAgB,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,6EAA6E,CAAC,CAAC;QACnF,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjB,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,cAAc,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAC7C,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,uGAAuG,CAAC,CAAC;AAC/G,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `crosscheck-enterprise keys setup` — 1Password-only, restricted to the
|
|
3
|
+
* org's currently-allowed providers. Unlike the standard CLI's `keys setup`,
|
|
4
|
+
* there is no file/keychain option to fall back to, and no `--backend`
|
|
5
|
+
* choice: this bin only ever wires 1Password, and only ever offers
|
|
6
|
+
* providers the org admin has enabled (see /account/enterprise).
|
|
7
|
+
*/
|
|
8
|
+
import { validateOnePasswordSetup } from "../onepassword/setup.js";
|
|
9
|
+
import { loadOnePasswordConfig, writeOnePasswordConfig, configFilePath } from "../onepassword/config.js";
|
|
10
|
+
import { captureOnePasswordConfigViaBrowser } from "../onepassword/browser-flow.js";
|
|
11
|
+
import { enableOnePasswordOnlyBackend, getSecret } from "../keychain.js";
|
|
12
|
+
import { fetchProviderPolicy } from "./policy.js";
|
|
13
|
+
import { MIN_OP_VERSION } from "../onepassword/op.js";
|
|
14
|
+
function printProviderResults(results) {
|
|
15
|
+
for (const p of results) {
|
|
16
|
+
process.stdout.write(p.ok ? ` ✓ ${p.provider}\n` : ` ✗ ${p.provider}: ${p.error}\n`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function runEnterpriseOnePasswordKeysSetup() {
|
|
20
|
+
const jwt = await getSecret("jwt");
|
|
21
|
+
if (!jwt) {
|
|
22
|
+
process.stderr.write("Not signed in. Run `crosscheck-enterprise login` first.\n");
|
|
23
|
+
process.exitCode = 1;
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const policy = await fetchProviderPolicy(jwt);
|
|
27
|
+
const allowed = policy?.allowedProviders ?? [];
|
|
28
|
+
if (allowed.length === 0) {
|
|
29
|
+
process.stderr.write("\nYour organization hasn't enabled any providers yet — ask your admin to " +
|
|
30
|
+
"configure this at /account/enterprise.\n\n");
|
|
31
|
+
process.exitCode = 1;
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const existingLoad = loadOnePasswordConfig();
|
|
35
|
+
const existing = existingLoad.ok ? existingLoad.config.mappings : undefined;
|
|
36
|
+
const existingAuthMode = existingLoad.ok ? existingLoad.config.authMode : undefined;
|
|
37
|
+
process.stdout.write(`\nLet's set up 1Password in your browser. Your organization allows: ${allowed.join(", ")}.\n`);
|
|
38
|
+
let captured;
|
|
39
|
+
try {
|
|
40
|
+
captured = await captureOnePasswordConfigViaBrowser({
|
|
41
|
+
providers: [...allowed],
|
|
42
|
+
existing,
|
|
43
|
+
existingAuthMode,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
process.stderr.write(`\n✗ ${err instanceof Error ? err.message : String(err)}\n\n`);
|
|
48
|
+
process.exitCode = 1;
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (Object.keys(captured.mappings).length === 0) {
|
|
52
|
+
process.stderr.write("\n✗ No providers were mapped — nothing to enable.\n\n");
|
|
53
|
+
process.exitCode = 1;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const written = writeOnePasswordConfig(captured);
|
|
57
|
+
if (!written.ok) {
|
|
58
|
+
process.stderr.write(`\n✗ ${written.error}: ${written.detail}\n\n`);
|
|
59
|
+
process.exitCode = 1;
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
process.stdout.write(`✓ Saved ${configFilePath()}\n`);
|
|
63
|
+
process.stdout.write("\nValidating your 1Password configuration...\n");
|
|
64
|
+
const result = await validateOnePasswordSetup();
|
|
65
|
+
if (!result.ok) {
|
|
66
|
+
process.stderr.write(`\n✗ ${result.detail}\n`);
|
|
67
|
+
if (result.stage === "op-version") {
|
|
68
|
+
process.stderr.write(`\nRequires the 1Password CLI (\`op\`), version >= ${MIN_OP_VERSION}.\n`);
|
|
69
|
+
}
|
|
70
|
+
if (result.providers)
|
|
71
|
+
printProviderResults(result.providers);
|
|
72
|
+
process.stderr.write("\nFix the above, then re-run `crosscheck-enterprise keys setup`.\n\n");
|
|
73
|
+
process.exitCode = 1;
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
enableOnePasswordOnlyBackend();
|
|
77
|
+
process.stdout.write(`\n✓ 1Password backend enabled (authMode: ${result.authMode}).\n\n`);
|
|
78
|
+
printProviderResults(result.providers);
|
|
79
|
+
process.stdout.write("\ncrosscheck-enterprise stores nothing locally except this 1Password mapping — every " +
|
|
80
|
+
"provider key is read from 1Password on demand, and only providers your org currently " +
|
|
81
|
+
"allows are ever offered here.\n\n" +
|
|
82
|
+
"Run `crosscheck-enterprise doctor` any time to recheck this.\n\n");
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=keys-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys-setup.js","sourceRoot":"","sources":["../../src/enterprise/keys-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `crosscheck-enterprise login` — same device-code/poll/JWT mechanics as
|
|
3
|
+
* the standard CLI's activate flow (activateDeviceFlow), just pointed at
|
|
4
|
+
* /enterprise/sso/start instead of the server-provided /cli/start. That
|
|
5
|
+
* page collects the work email and routes to the org's own Okta/Entra —
|
|
6
|
+
* there is no Google OAuth path in this bin at all.
|
|
7
|
+
*/
|
|
8
|
+
import { activateDeviceFlow } from "../activate.js";
|
|
9
|
+
import { SERVER_URL } from "../config.js";
|
|
10
|
+
export async function enterpriseLogin() {
|
|
11
|
+
await activateDeviceFlow({
|
|
12
|
+
verificationUrlOverride: `${SERVER_URL}/enterprise/sso/start`,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/enterprise/login.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,kBAAkB,CAAC;QACvB,uBAAuB,EAAE,GAAG,UAAU,uBAAuB;KAC9D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider-policy fetch + cache for crosscheck-enterprise. Deliberately
|
|
3
|
+
* fails RESTRICTIVE (last-known-good cached policy, or an empty allowlist
|
|
4
|
+
* if there's no cache at all) rather than fail-open — the opposite
|
|
5
|
+
* fail-direction from heartbeat's entitlement grace window, on purpose:
|
|
6
|
+
* staying open is safe for "are you still a paying customer," staying
|
|
7
|
+
* restricted is safe for "which providers is this org allowed to use."
|
|
8
|
+
*/
|
|
9
|
+
import { readFileSync, writeFileSync } from "node:fs";
|
|
10
|
+
import path from "node:path";
|
|
11
|
+
import { SERVER_URL } from "../config.js";
|
|
12
|
+
import { request } from "../http.js";
|
|
13
|
+
import { dataDir } from "../keychain.js";
|
|
14
|
+
function cachePath() {
|
|
15
|
+
return path.join(dataDir(), "enterprise-policy.json");
|
|
16
|
+
}
|
|
17
|
+
function readCache() {
|
|
18
|
+
try {
|
|
19
|
+
const raw = readFileSync(cachePath(), "utf8");
|
|
20
|
+
const parsed = JSON.parse(raw);
|
|
21
|
+
if (typeof parsed.version === "number" && Array.isArray(parsed.allowedProviders)) {
|
|
22
|
+
return parsed;
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function writeCache(policy) {
|
|
31
|
+
try {
|
|
32
|
+
writeFileSync(cachePath(), JSON.stringify(policy), { mode: 0o600 });
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// best-effort — a failed cache write just means the next fetch failure
|
|
36
|
+
// has nothing to fall back on, not a hard error now
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Fetch the current policy from the server, falling back to the cached
|
|
41
|
+
* last-known-good policy on any failure (network, non-200, malformed body).
|
|
42
|
+
* Returns null only when there's neither a live fetch NOR a cache — the
|
|
43
|
+
* caller should treat that as "no providers allowed" (see mcp.ts).
|
|
44
|
+
*/
|
|
45
|
+
export async function fetchProviderPolicy(jwt) {
|
|
46
|
+
try {
|
|
47
|
+
const res = await request(`${SERVER_URL}/api/crosscheck/enterprise/policy`, {
|
|
48
|
+
method: "GET",
|
|
49
|
+
headers: { authorization: `Bearer ${jwt}` },
|
|
50
|
+
});
|
|
51
|
+
if (res.statusCode !== 200) {
|
|
52
|
+
return readCache();
|
|
53
|
+
}
|
|
54
|
+
const body = (await res.body.json());
|
|
55
|
+
if (!("ok" in body) || !body.ok) {
|
|
56
|
+
return readCache();
|
|
57
|
+
}
|
|
58
|
+
const policy = { version: body.version, allowedProviders: body.allowedProviders };
|
|
59
|
+
writeCache(policy);
|
|
60
|
+
return policy;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return readCache();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/enterprise/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAOzC,SAAS,SAAS;IAChB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,wBAAwB,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;QACjD,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACjF,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAsB;IACxC,IAAI,CAAC;QACH,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,oDAAoD;IACtD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAW;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,UAAU,mCAAmC,EAAE;YAC1E,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE;SAC5C,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YAC3B,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAEH,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAChC,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClG,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
|
package/dist/heartbeat.js
CHANGED
|
@@ -12,6 +12,7 @@ import { request } from "./http.js";
|
|
|
12
12
|
import { SERVER_URL, HEARTBEAT_INTERVAL_MS, HEARTBEAT_FAIL_OPEN_MS, CLI_VERSION } from "./config.js";
|
|
13
13
|
import { getSecret, setSecret } from "./keychain.js";
|
|
14
14
|
import { resolveEngineVersion } from "./engine-version.js";
|
|
15
|
+
import { checkCompliance } from "./enterprise/compliance.js";
|
|
15
16
|
const state = {
|
|
16
17
|
lastOkAt: null,
|
|
17
18
|
status: "ok",
|
|
@@ -28,10 +29,28 @@ export function isAllowedToRun(now = Date.now()) {
|
|
|
28
29
|
return true; // never heartbeated yet — allow first run
|
|
29
30
|
return now - state.lastOkAt < HEARTBEAT_FAIL_OPEN_MS;
|
|
30
31
|
}
|
|
31
|
-
export async function runHeartbeat() {
|
|
32
|
+
export async function runHeartbeat(opts) {
|
|
32
33
|
const jwt = await getSecret("jwt");
|
|
33
34
|
if (!jwt)
|
|
34
35
|
throw new Error("Not activated. Run `crosscheck activate <token>` first.");
|
|
36
|
+
// crosscheck-enterprise only: self-report compliance so a sustained
|
|
37
|
+
// violation can trigger server-side revocation (decidePolicyCompliance on
|
|
38
|
+
// the site) — the only enforcement teeth available under a no-gateway/
|
|
39
|
+
// BYOK model. Best-effort: a failed compliance check just omits the
|
|
40
|
+
// field, which the server treats as "unknown" (never revokes on that).
|
|
41
|
+
let complianceFields = {};
|
|
42
|
+
if (opts?.checkPolicyCompliance) {
|
|
43
|
+
try {
|
|
44
|
+
const report = await checkCompliance(jwt);
|
|
45
|
+
complianceFields = {
|
|
46
|
+
policy_compliant: report.compliant,
|
|
47
|
+
...(report.policy ? { policy_version_seen: report.policy.version } : {}),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// best-effort — omit the field, server treats as "unknown"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
35
54
|
const res = await request(`${SERVER_URL}/api/crosscheck/heartbeat`, {
|
|
36
55
|
method: "POST",
|
|
37
56
|
headers: {
|
|
@@ -41,6 +60,7 @@ export async function runHeartbeat() {
|
|
|
41
60
|
body: JSON.stringify({
|
|
42
61
|
cli_version: CLI_VERSION,
|
|
43
62
|
engine_version: resolveEngineVersion(),
|
|
63
|
+
...complianceFields,
|
|
44
64
|
}),
|
|
45
65
|
});
|
|
46
66
|
const body = (await res.body.json());
|
|
@@ -59,14 +79,14 @@ export async function runHeartbeat() {
|
|
|
59
79
|
return body;
|
|
60
80
|
}
|
|
61
81
|
/** Long-running scheduler. Returns a stop fn. */
|
|
62
|
-
export function startScheduler() {
|
|
82
|
+
export function startScheduler(opts) {
|
|
63
83
|
let stopped = false;
|
|
64
84
|
let timer = null;
|
|
65
85
|
const tick = async () => {
|
|
66
86
|
if (stopped)
|
|
67
87
|
return;
|
|
68
88
|
try {
|
|
69
|
-
await runHeartbeat();
|
|
89
|
+
await runHeartbeat(opts);
|
|
70
90
|
}
|
|
71
91
|
catch (err) {
|
|
72
92
|
// Network error — don't change state.status, let isAllowedToRun fall
|
package/dist/heartbeat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
|
package/dist/keychain.js
CHANGED
|
@@ -82,7 +82,7 @@ const KNOWN_SECRET_NAMES = [
|
|
|
82
82
|
// ---------------------------------------------------------------------------
|
|
83
83
|
// Storage directory + saved preference.
|
|
84
84
|
// ---------------------------------------------------------------------------
|
|
85
|
-
function dataDir() {
|
|
85
|
+
export function dataDir() {
|
|
86
86
|
const base = process.env.CROSSCHECK_DATA_DIR ||
|
|
87
87
|
path.join(os.homedir() || os.tmpdir(), ".crosscheck");
|
|
88
88
|
mkdirSync(base, { recursive: true, mode: 0o700 });
|
|
@@ -100,7 +100,10 @@ function prefFilePath() {
|
|
|
100
100
|
function readPref() {
|
|
101
101
|
try {
|
|
102
102
|
const raw = JSON.parse(readFileSync(prefFilePath(), "utf8"));
|
|
103
|
-
if (raw.backend === "file" ||
|
|
103
|
+
if (raw.backend === "file" ||
|
|
104
|
+
raw.backend === "keychain" ||
|
|
105
|
+
raw.backend === "1password" ||
|
|
106
|
+
raw.backend === "1password-only") {
|
|
104
107
|
return raw.backend;
|
|
105
108
|
}
|
|
106
109
|
}
|
|
@@ -117,8 +120,12 @@ function macKeychainUsable() {
|
|
|
117
120
|
}
|
|
118
121
|
function selectBackend() {
|
|
119
122
|
const forced = (process.env.CROSSCHECK_SECRET_STORE ?? "").toLowerCase();
|
|
120
|
-
if (forced === "file" ||
|
|
123
|
+
if (forced === "file" ||
|
|
124
|
+
forced === "keychain" ||
|
|
125
|
+
forced === "1password" ||
|
|
126
|
+
forced === "1password-only") {
|
|
121
127
|
return forced;
|
|
128
|
+
}
|
|
122
129
|
const pref = readPref();
|
|
123
130
|
if (pref)
|
|
124
131
|
return pref;
|
|
@@ -347,6 +354,17 @@ export class OnePasswordReadError extends Error {
|
|
|
347
354
|
this.name = "OnePasswordReadError";
|
|
348
355
|
}
|
|
349
356
|
}
|
|
357
|
+
/** Thrown by getSecret/setSecret/deleteSecret in "1password-only" mode for a
|
|
358
|
+
* "key:<provider>" that has no 1Password mapping — the enterprise-mode
|
|
359
|
+
* equivalent of ReadOnlyBackendError, but for the CLOSED fallback rather
|
|
360
|
+
* than a read-only mapped entry. */
|
|
361
|
+
export class NotMappedInEnterpriseModeError extends Error {
|
|
362
|
+
constructor(provider) {
|
|
363
|
+
super(`Provider "${provider}" has no 1Password mapping. crosscheck-enterprise requires every ` +
|
|
364
|
+
"provider key to come from 1Password — run `crosscheck-enterprise keys setup` to map it.");
|
|
365
|
+
this.name = "NotMappedInEnterpriseModeError";
|
|
366
|
+
}
|
|
367
|
+
}
|
|
350
368
|
function onePasswordProviderFor(name) {
|
|
351
369
|
return name.startsWith("key:") ? name.slice("key:".length) : null;
|
|
352
370
|
}
|
|
@@ -384,6 +402,23 @@ function isOnePasswordManaged(provider) {
|
|
|
384
402
|
// Public API (unchanged signatures).
|
|
385
403
|
// ---------------------------------------------------------------------------
|
|
386
404
|
export async function setSecret(name, value) {
|
|
405
|
+
if (currentBackend === "1password-only") {
|
|
406
|
+
const provider = onePasswordProviderFor(name);
|
|
407
|
+
if (provider) {
|
|
408
|
+
// Every provider key is 1Password-managed in this mode, mapped or
|
|
409
|
+
// not — writing one locally would silently reopen the fallback this
|
|
410
|
+
// backend exists to close.
|
|
411
|
+
throw new ReadOnlyBackendError(name);
|
|
412
|
+
}
|
|
413
|
+
// Machine-local secret (jwt, hmacSigningKey, ...) -> file, unaffected.
|
|
414
|
+
autoMigrateFromKeychain();
|
|
415
|
+
withFileLock(() => {
|
|
416
|
+
const map = readFileMap();
|
|
417
|
+
map[name] = value;
|
|
418
|
+
writeFileMap(map);
|
|
419
|
+
});
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
387
422
|
if (currentBackend === "1password") {
|
|
388
423
|
const provider = onePasswordProviderFor(name);
|
|
389
424
|
if (provider && isOnePasswordManaged(provider)) {
|
|
@@ -411,6 +446,20 @@ export async function setSecret(name, value) {
|
|
|
411
446
|
});
|
|
412
447
|
}
|
|
413
448
|
export async function getSecret(name) {
|
|
449
|
+
if (currentBackend === "1password-only") {
|
|
450
|
+
const provider = onePasswordProviderFor(name);
|
|
451
|
+
if (provider) {
|
|
452
|
+
const routed = await tryOnePasswordRead(provider);
|
|
453
|
+
if (routed !== null)
|
|
454
|
+
return routed;
|
|
455
|
+
// Unmapped -> throw, the whole point of this mode vs. plain
|
|
456
|
+
// "1password" (which would silently fall through to the file store).
|
|
457
|
+
throw new NotMappedInEnterpriseModeError(provider);
|
|
458
|
+
}
|
|
459
|
+
// Machine-local secret -> file, unaffected.
|
|
460
|
+
autoMigrateFromKeychain();
|
|
461
|
+
return readFileMap()[name] ?? null;
|
|
462
|
+
}
|
|
414
463
|
if (currentBackend === "1password") {
|
|
415
464
|
const provider = onePasswordProviderFor(name);
|
|
416
465
|
if (provider) {
|
|
@@ -428,6 +477,31 @@ export async function getSecret(name) {
|
|
|
428
477
|
return readFileMap()[name] ?? null;
|
|
429
478
|
}
|
|
430
479
|
export async function deleteSecret(name) {
|
|
480
|
+
if (currentBackend === "1password-only") {
|
|
481
|
+
const provider = onePasswordProviderFor(name);
|
|
482
|
+
if (provider) {
|
|
483
|
+
throw new ReadOnlyBackendError(name);
|
|
484
|
+
}
|
|
485
|
+
autoMigrateFromKeychain();
|
|
486
|
+
return withFileLock(() => {
|
|
487
|
+
const map = readFileMap();
|
|
488
|
+
if (!(name in map))
|
|
489
|
+
return false;
|
|
490
|
+
delete map[name];
|
|
491
|
+
if (Object.keys(map).length === 0) {
|
|
492
|
+
try {
|
|
493
|
+
rmSync(fileStorePath(), { force: true });
|
|
494
|
+
}
|
|
495
|
+
catch {
|
|
496
|
+
/* ignore */
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
writeFileMap(map);
|
|
501
|
+
}
|
|
502
|
+
return true;
|
|
503
|
+
});
|
|
504
|
+
}
|
|
431
505
|
if (currentBackend === "1password") {
|
|
432
506
|
const provider = onePasswordProviderFor(name);
|
|
433
507
|
if (provider && isOnePasswordManaged(provider)) {
|
|
@@ -533,6 +607,11 @@ export function enableOnePasswordBackend() {
|
|
|
533
607
|
writePref("1password");
|
|
534
608
|
currentBackend = "1password";
|
|
535
609
|
}
|
|
610
|
+
/** crosscheck-enterprise only — see the Backend type's "1password-only" doc. */
|
|
611
|
+
export function enableOnePasswordOnlyBackend() {
|
|
612
|
+
writePref("1password-only");
|
|
613
|
+
currentBackend = "1password-only";
|
|
614
|
+
}
|
|
536
615
|
export async function setSecretBackend(target) {
|
|
537
616
|
if (target === "1password") {
|
|
538
617
|
// Deliberately not supported through this generic migrator: it works by
|
package/dist/keychain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keychain.js","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keychain.js","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp-register.js
CHANGED
|
@@ -30,15 +30,15 @@ function claudeCliAvailable() {
|
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
function mcpJsonSnippet() {
|
|
33
|
+
function mcpJsonSnippet(reg) {
|
|
34
34
|
return JSON.stringify({
|
|
35
35
|
mcpServers: {
|
|
36
|
-
[
|
|
36
|
+
[reg.name]: { command: reg.command, args: reg.args },
|
|
37
37
|
},
|
|
38
38
|
}, null, 2);
|
|
39
39
|
}
|
|
40
40
|
/** Merge our server into ~/.claude.json without disturbing anything else. */
|
|
41
|
-
function writeUserConfig() {
|
|
41
|
+
function writeUserConfig(reg) {
|
|
42
42
|
const configPath = path.join(os.homedir(), ".claude.json");
|
|
43
43
|
try {
|
|
44
44
|
let config = {};
|
|
@@ -48,7 +48,7 @@ function writeUserConfig() {
|
|
|
48
48
|
config = JSON.parse(raw);
|
|
49
49
|
}
|
|
50
50
|
const servers = config.mcpServers ?? {};
|
|
51
|
-
servers[
|
|
51
|
+
servers[reg.name] = { command: reg.command, args: reg.args };
|
|
52
52
|
config.mcpServers = servers;
|
|
53
53
|
writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`, "utf8");
|
|
54
54
|
return { ok: true, configPath };
|
|
@@ -57,20 +57,27 @@ function writeUserConfig() {
|
|
|
57
57
|
return { ok: false, reason: err instanceof Error ? err.message : "unknown error" };
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
/**
|
|
61
|
+
* `reg` defaults to the standard crosscheck-cli registration. crosscheck-
|
|
62
|
+
* enterprise passes its own {name: "crosscheck-enterprise", command: "npx",
|
|
63
|
+
* args: ["-y", "crosscheck-enterprise@latest", "serve"]} so Claude Code
|
|
64
|
+
* spawns the right binary — both can coexist in the same ~/.claude.json
|
|
65
|
+
* under different server names.
|
|
66
|
+
*/
|
|
67
|
+
export function registerMcpServer(reg = { name: SERVER_NAME, command: SERVER_COMMAND, args: [...SERVER_ARGS] }) {
|
|
61
68
|
if (claudeCliAvailable()) {
|
|
62
|
-
const r = spawnSync("claude", ["mcp", "add", "--scope", "user",
|
|
69
|
+
const r = spawnSync("claude", ["mcp", "add", "--scope", "user", reg.name, "--", reg.command, ...reg.args], { stdio: "ignore" });
|
|
63
70
|
if (r.status === 0)
|
|
64
71
|
return { method: "cli" };
|
|
65
72
|
// `claude` exists but the add failed (e.g. already registered) — fall
|
|
66
73
|
// through to the file path, which is idempotent.
|
|
67
74
|
}
|
|
68
|
-
const written = writeUserConfig();
|
|
75
|
+
const written = writeUserConfig(reg);
|
|
69
76
|
if (written.ok)
|
|
70
77
|
return { method: "file", configPath: written.configPath };
|
|
71
78
|
return {
|
|
72
79
|
method: "manual",
|
|
73
|
-
snippet: mcpJsonSnippet(),
|
|
80
|
+
snippet: mcpJsonSnippet(reg),
|
|
74
81
|
reason: written.reason,
|
|
75
82
|
};
|
|
76
83
|
}
|
package/dist/mcp-register.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-register.js","sourceRoot":"","sources":["../src/mcp-register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,sEAAsE;AACtE,0EAA0E;AAC1E,kDAAkD;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AACxC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,GAAG,WAAW,SAAS,EAAE,OAAO,CAAC,CAAC;AAOpE,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-register.js","sourceRoot":"","sources":["../src/mcp-register.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.js
CHANGED
|
@@ -29,6 +29,7 @@ import { runHeartbeat, startScheduler } from "./heartbeat.js";
|
|
|
29
29
|
import { notifyIfOutdated } from "./update-check.js";
|
|
30
30
|
import { claimSingleInstance, releaseSingleInstance, sweepOrphanedInstances, } from "./single-instance.js";
|
|
31
31
|
import { resolveEngineVersion } from "./engine-version.js";
|
|
32
|
+
import { fetchProviderPolicy } from "./enterprise/policy.js";
|
|
32
33
|
const require = createRequire(import.meta.url);
|
|
33
34
|
/** Keychain key name -> engine env var name. Mirrors crosscheck-mcp's providers. */
|
|
34
35
|
const KEY_BINDINGS = [
|
|
@@ -42,9 +43,20 @@ const KEY_BINDINGS = [
|
|
|
42
43
|
["key:kimi", "KIMI_API_KEY"],
|
|
43
44
|
["key:qwen", "QWEN_API_KEY"],
|
|
44
45
|
];
|
|
45
|
-
|
|
46
|
+
/**
|
|
47
|
+
* `allowedProviders`, when given, restricts which keys get injected into the
|
|
48
|
+
* spawned engine's env — crosscheck-enterprise only (see startMcpServer's
|
|
49
|
+
* enforceProviderPolicy option). A provider missing from the allowlist is
|
|
50
|
+
* simply never injected, even if a key for it is already stored locally —
|
|
51
|
+
* so an org-admin policy change takes effect on the very next `serve`
|
|
52
|
+
* launch without the user redoing key setup.
|
|
53
|
+
*/
|
|
54
|
+
async function loadUpstreamKeys(allowedProviders) {
|
|
46
55
|
const out = {};
|
|
47
56
|
for (const [name, envVar] of KEY_BINDINGS) {
|
|
57
|
+
const provider = name.slice("key:".length);
|
|
58
|
+
if (allowedProviders && !allowedProviders.has(provider))
|
|
59
|
+
continue;
|
|
48
60
|
const v = await getSecret(name);
|
|
49
61
|
if (v)
|
|
50
62
|
out[envVar] = v;
|
|
@@ -76,7 +88,7 @@ function resolveEngineLauncher() {
|
|
|
76
88
|
return { command: npx, args: ["-y", `${ENGINE_PACKAGE}@${ENGINE_FALLBACK_VERSION}`] };
|
|
77
89
|
}
|
|
78
90
|
}
|
|
79
|
-
export async function startMcpServer() {
|
|
91
|
+
export async function startMcpServer(opts) {
|
|
80
92
|
// Clean up any straggler processes left behind by a host that crashed or
|
|
81
93
|
// was force-killed without signaling its child (or by the pre-fix
|
|
82
94
|
// machine-wide lock race) — regardless of which host they belonged to.
|
|
@@ -121,9 +133,19 @@ export async function startMcpServer() {
|
|
|
121
133
|
process.exit(1);
|
|
122
134
|
}
|
|
123
135
|
// 2. Pull upstream LLM keys from keychain into the child's env.
|
|
136
|
+
// crosscheck-enterprise only: fetch the org's current provider policy
|
|
137
|
+
// and filter to it — this is what makes a policy change take effect on
|
|
138
|
+
// the very next `serve` launch without the user redoing key setup.
|
|
139
|
+
let allowedProviders;
|
|
140
|
+
if (opts?.enforceProviderPolicy) {
|
|
141
|
+
const freshJwt = (await getSecret("jwt")) ?? jwt;
|
|
142
|
+
const policy = await fetchProviderPolicy(freshJwt);
|
|
143
|
+
// No live fetch AND no cache -> fail restrictive (empty set), never open.
|
|
144
|
+
allowedProviders = new Set(policy?.allowedProviders ?? []);
|
|
145
|
+
}
|
|
124
146
|
let keys;
|
|
125
147
|
try {
|
|
126
|
-
keys = await loadUpstreamKeys();
|
|
148
|
+
keys = await loadUpstreamKeys(allowedProviders);
|
|
127
149
|
}
|
|
128
150
|
catch (err) {
|
|
129
151
|
if (err instanceof OnePasswordReadError) {
|
|
@@ -136,11 +158,20 @@ export async function startMcpServer() {
|
|
|
136
158
|
throw err;
|
|
137
159
|
}
|
|
138
160
|
if (Object.keys(keys).length === 0) {
|
|
139
|
-
|
|
140
|
-
"\
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
161
|
+
if (opts?.enforceProviderPolicy) {
|
|
162
|
+
process.stderr.write("\ncrosscheck-enterprise: no allowed provider has a key configured yet.\n" +
|
|
163
|
+
"\nEither your org admin hasn't enabled any providers at /account/enterprise, or you " +
|
|
164
|
+
"haven't added a key for one yet:\n" +
|
|
165
|
+
"\n npx -y crosscheck-enterprise@latest keys setup\n" +
|
|
166
|
+
"\nThen reconnect MCP servers in Claude Code (or restart it).\n\n");
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
process.stderr.write("\ncrosscheck: no provider keys found, so there are no models to orchestrate yet.\n" +
|
|
170
|
+
"\nAdd at least one (Anthropic, OpenAI, Google, or xAI) — one browser page, no typing:\n" +
|
|
171
|
+
"\n npx -y crosscheck-cli@latest keys setup\n" +
|
|
172
|
+
"\nYour keys are stored locally on your machine and never sent to Crosscheck.\n" +
|
|
173
|
+
"Then reconnect MCP servers in Claude Code (or restart it).\n\n");
|
|
174
|
+
}
|
|
144
175
|
process.exit(1);
|
|
145
176
|
}
|
|
146
177
|
// 3. Launch the engine.
|
|
@@ -183,7 +214,7 @@ export async function startMcpServer() {
|
|
|
183
214
|
// expiry and updates last-seen server-side (so the admin dashboard isn't
|
|
184
215
|
// stale). Without this, tokens silently ride to expiry and every user gets
|
|
185
216
|
// locked out ~a week after activating.
|
|
186
|
-
const stopHeartbeat = startScheduler();
|
|
217
|
+
const stopHeartbeat = startScheduler({ checkPolicyCompliance: opts?.enforceProviderPolicy });
|
|
187
218
|
child.on("exit", (code, signal) => {
|
|
188
219
|
stopHeartbeat();
|
|
189
220
|
releaseSingleInstance();
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crosscheck-cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.50",
|
|
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",
|
|
7
7
|
"bin": {
|
|
8
|
-
"crosscheck": "dist/cli.js"
|
|
8
|
+
"crosscheck": "dist/cli.js",
|
|
9
|
+
"crosscheck-enterprise": "dist/cli-enterprise.js"
|
|
9
10
|
},
|
|
10
11
|
"publishConfig": {
|
|
11
12
|
"access": "public"
|