From 98f0a328e2a01c9f5f08b9ca20eb0d98c09bd58e Mon Sep 17 00:00:00 2001 From: zak <36251971+zrm625@users.noreply.github.com> Date: Wed, 14 Oct 2026 00:20:18 -0400 Subject: [PATCH 1/5] Add private Rivet setup and public OIDC PKCE support --- apps/host-selfhost/.env.example | 8 + apps/host-selfhost/docs/media/rivet-setup.gif | Bin 0 -> 510035 bytes apps/host-selfhost/docs/public-oidc.md | 25 ++ apps/host-selfhost/docs/rivet.md | 66 ++++ apps/host-selfhost/src/app.ts | 6 + .../host-selfhost/src/auth/sso-public.test.ts | 354 ++++++++++++++++++ apps/host-selfhost/src/auth/sso.test.ts | 1 + apps/host-selfhost/src/auth/sso.ts | 2 +- apps/host-selfhost/src/config.ts | 22 +- .../src/rivet-setup-network.test.ts | 32 ++ .../src/rivet-setup-state.test.ts | 107 ++++++ .../src/rivet-setup.node.test.ts | 116 ++++++ apps/host-selfhost/src/rivet-setup.ts | 257 +++++++++++++ apps/host-selfhost/web/rivet-setup-panel.tsx | 296 +++++++++++++++ apps/host-selfhost/web/rivet-setup-state.ts | 94 +++++ apps/host-selfhost/web/routes/__root.tsx | 19 +- e2e/selfhost/rivet-setup-ui.test.ts | 143 +++++++ .../mcp/src/react/McpAccountsPanel.tsx | 4 + .../plugins/mcp/src/sdk/health-probe.test.ts | 42 +++ packages/plugins/mcp/src/sdk/health-probe.ts | 66 ++++ packages/plugins/mcp/src/sdk/plugin.ts | 119 +++++- .../src/components/integration-setup.tsx | 19 + 22 files changed, 1775 insertions(+), 23 deletions(-) create mode 100644 apps/host-selfhost/docs/media/rivet-setup.gif create mode 100644 apps/host-selfhost/docs/public-oidc.md create mode 100644 apps/host-selfhost/docs/rivet.md create mode 100644 apps/host-selfhost/src/auth/sso-public.test.ts create mode 100644 apps/host-selfhost/src/rivet-setup-network.test.ts create mode 100644 apps/host-selfhost/src/rivet-setup-state.test.ts create mode 100644 apps/host-selfhost/src/rivet-setup.node.test.ts create mode 100644 apps/host-selfhost/src/rivet-setup.ts create mode 100644 apps/host-selfhost/web/rivet-setup-panel.tsx create mode 100644 apps/host-selfhost/web/rivet-setup-state.ts create mode 100644 e2e/selfhost/rivet-setup-ui.test.ts create mode 100644 packages/plugins/mcp/src/sdk/health-probe.test.ts create mode 100644 packages/plugins/mcp/src/sdk/health-probe.ts create mode 100644 packages/react/src/components/integration-setup.tsx diff --git a/apps/host-selfhost/.env.example b/apps/host-selfhost/.env.example index 3e3296c884..644327e2eb 100644 --- a/apps/host-selfhost/.env.example +++ b/apps/host-selfhost/.env.example @@ -47,3 +47,11 @@ # "true". Enabling it lets users configure MCP servers whose commands execute # on this host. # EXECUTOR_ALLOW_STDIO_MCP=true + +# --- Public OIDC client (PKCE) ------------------------------------------------ +# Opt in explicitly. Keep verified email-domain admission; omit the client secret. +# EXECUTOR_SSO_PUBLIC_CLIENT=true +# EXECUTOR_SSO_PROVIDER_ID=example +# EXECUTOR_SSO_DISCOVERY_URL=https://idp.example.test/.well-known/openid-configuration +# EXECUTOR_SSO_CLIENT_ID=executor +# EXECUTOR_SSO_ALLOWED_DOMAINS=example.test diff --git a/apps/host-selfhost/docs/media/rivet-setup.gif b/apps/host-selfhost/docs/media/rivet-setup.gif new file mode 100644 index 0000000000000000000000000000000000000000..5fdc55704ca7afea1ed0f2eca2f474b5e79edcd2 GIT binary patch literal 510035 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

CqCr(Xyj8qG4=!=~@5AlmO;c}8dDh#nn)$v` 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

T2|q08pRrm|;1PDP!Cc}(5&|@$LVZ?>dK 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ξcppf5hH6sS)jm+IisG|)j?F|FX=@vM+xhvky@$3 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

NgI9RyDMA2C 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 }}-Vmi}SEpWe7B<@V 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 JzrTI((;sfG5e@(V literal 0 HcmV?d00001 diff --git a/apps/host-selfhost/docs/public-oidc.md b/apps/host-selfhost/docs/public-oidc.md new file mode 100644 index 0000000000..4c1e199d0a --- /dev/null +++ b/apps/host-selfhost/docs/public-oidc.md @@ -0,0 +1,25 @@ +# Use a public OIDC client with PKCE + +Selfhost SSO supports an explicit public-client mode. Set +`EXECUTOR_SSO_PUBLIC_CLIENT=true`, configure `EXECUTOR_SSO_CLIENT_ID`, +`EXECUTOR_SSO_PROVIDER_ID`, `EXECUTOR_SSO_DISCOVERY_URL`, and +`EXECUTOR_SSO_ALLOWED_DOMAINS`, and omit `EXECUTOR_SSO_CLIENT_SECRET`. +Register `/api/auth/oauth2/callback/PROVIDER_ID` at the configured canonical +browser origin as the IdP redirect URI. Authorization uses PKCE. + +Public mode refuses a supplied client secret. Without the public-mode flag, +confidential SSO still requires the client ID and secret together. Provider names +and discovery presets retain their current behavior. Password login, first-run +setup, invite admission, and account-linking policy retain current main behavior. + +The IdP must verify the user's email, and its domain must be allowlisted before a +new account is admitted. New admitted accounts receive membership under the existing +SSO rules. Public PKCE does not make an arbitrary issuer account an instance owner +or automatically link it to an unverified bootstrap identity. + +The retained older external-OIDC candidates also proposed password-login replacement +and trusted linking of unverified local accounts. Those policy changes are excluded. +Migrate old `EXECUTOR_OIDC_*` configuration to the current SSO variables only under +separate operator authority; these source changes do not alter deployed settings. +The Okta emulator tests exercise public and confidential discovery, authorization, +callback, admission denial, and membership using synthetic accounts. diff --git a/apps/host-selfhost/docs/rivet.md b/apps/host-selfhost/docs/rivet.md new file mode 100644 index 0000000000..d3121fa638 --- /dev/null +++ b/apps/host-selfhost/docs/rivet.md @@ -0,0 +1,66 @@ +# Connect a private Rivet service + +Rivet owns the phone connection, Google session, archive, and write authorization. +Executor consumes its private MCP endpoint and proxies owner-only setup. The +server never hosts a Google browser or forwards browser keyboard or frame input. +Google sign-in opens the installed Rivet helper on a nearby computer. + +Set `EXECUTOR_RIVET_SETUP_CONFIG_FILE` to an absolute owner-only JSON file with +`endpoint`, `tokenFile`, `ownerId`, `integration`, and `browserOrigin`. The endpoint +ends in `/setup`; it must use HTTPS except for local fixtures. Its DNS addresses +must all be private. Requests pin one address and family, retain TLS hostname +validation, refuse redirects, and bound request and response sizes. + +The token file contains a separate 64-character hexadecimal management credential. +It must belong to the service account and be private, regular, and not a symlink +or hard link. Keep it separate from the phone and ordinary MCP credentials. It +never reaches the browser. Only the configured existing `ownerId` may manage setup, +regardless of instance role. Browser POSTs require the exact configured origin. +Unconfigured integrations hide the panel and return 404. Invalid configuration +fails closed. Equivalent `EXECUTOR_RIVET_SETUP_*` server variables are supported. + +The panel reports phone connectivity, saved Google session, and Google authentication +separately. Verify saved sessions instead of pairing again. Hiding the phone QR +does not revoke its persistent credential. A later successful check supersedes +an old pairing failure. Authentication is point-in-time evidence. + +For MCP health, select an explicit read-only operation such as `texts_gm_health`. +Discovery alone reports connection health and does not authenticate Google. The +plugin does not invoke candidates while listing them. Execution errors produce +bounded diagnostics without persisting arbitrary error content. + +## Validate with synthetic fixtures + +Run scoped Vitest tests in `apps/host-selfhost` for `rivet-setup*.test.ts` and +`rivet-setup.node.test.ts`, and in `packages/plugins/mcp` for `health-probe.test.ts`. +Run typechecks for the selfhost, MCP, and React packages, plus lint and the selfhost +production build. + +The recorded browser scenario uses the native Rivet producer fixture. In a disposable +Rivet checkout, set `RIVET_SETUP_DEMO_DIR` to a new private directory under `/tmp` +and run `tsx scripts/setup-demo.ts`. Its `ready.json` provides the loopback endpoint. +Set `E2E_RIVET_SETUP_DIRECTORY`, `E2E_RIVET_SETUP_URL`, and +`EXECUTOR_RIVET_SETUP_CONFIG_FILE` to that fixture's directory, URL, and a new JSON +file inside the directory. Then run from `e2e`: + +```sh +../node_modules/.bin/vitest run --project selfhost selfhost/rivet-setup-ui.test.ts +``` + +The scenario creates a fresh Executor session and synthetic phone/account state. +It records QR display, phone connection, cancel/retry, single-use local handoff, +emoji confirmation, and verification. It does not launch a real Google login or +read a phone. Stop the fixture before removing its disposable state. Without the +native fixture, the cross-repository scenario reports its prerequisite as a skip. + +## Source delivery and rollout + +Review the Rivet producer and Executor consumer separately. Deploy the compatible +producer before enabling consumer management configuration, under separate operator +authority. Choose the exact owner and browser origin without changing account roles. +Rollback the consumer independently. Preserve the producer's current session, +archive, credentials, and deduplication receipts across runtime changes. + +Old fixed Pyre deployment runners are historical recovery inputs and cannot be +replayed against later state. Source checks do not authorize deployment or prove +phone pairing, real passkey login, authenticated restart, natural refresh, or restore. diff --git a/apps/host-selfhost/src/app.ts b/apps/host-selfhost/src/app.ts index 18bcdf9fc2..80e0212551 100644 --- a/apps/host-selfhost/src/app.ts +++ b/apps/host-selfhost/src/app.ts @@ -16,6 +16,7 @@ import { selfHostDataMigrations } from "./db/data-migrations"; import { makeSelfHostAdminApiLayer } from "./admin/handlers"; import { makeSelfHostAdminUsersApiLayer } from "./admin/admin-users-api"; import { makeSelfHostSystemApiLayer } from "./system/handlers"; +import { makeRivetSetupHandler } from "./rivet-setup"; import { selfHostAccountMiddleware } from "./account"; import { loadConfig, SELF_HOST_NAMESPACE, SELF_HOST_SCHEMA_VERSION } from "./config"; import { createSelfHostDb, SelfHostDb, SelfHostDbProvider } from "./db/self-host-db"; @@ -126,6 +127,11 @@ export const makeSelfHostApp = async (options: MakeSelfHostAppOptions = {}) => { // reads paused detail (GET) and records the decision (POST .../resume), // session-cookie-gated, delegating to the in-process MCP store. HttpRouter.add("*", "/api/mcp-sessions/*", HttpEffect.fromWebHandler(mcp.approvalHandler)), + HttpRouter.add( + "*", + "/api/rivet-setup/*", + HttpEffect.fromWebHandler(makeRivetSetupHandler(betterAuth)), + ), // App-local admin (invite-code) API, served under /api/admin/*. makeSelfHostAdminApiLayer({ betterAuth, db: dbHandle, mountPrefix: "/api" }), // Tenant-wide admin users API (/api/admin/users*): the owner's view of diff --git a/apps/host-selfhost/src/auth/sso-public.test.ts b/apps/host-selfhost/src/auth/sso-public.test.ts new file mode 100644 index 0000000000..c69c521cda --- /dev/null +++ b/apps/host-selfhost/src/auth/sso-public.test.ts @@ -0,0 +1,354 @@ +import { mkdtempSync, rmSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; +import { randomBytes } from "node:crypto"; +import { createServer } from "node:net"; + +import { afterAll, describe, expect, it, test } from "@effect/vitest"; +import { createEmulator } from "@executor-js/emulate"; + +import { mintInviteCode } from "../testing/mint-invite"; + +// Real Better Auth path with an SSO provider configured — and a REAL IdP on the +// wire: an @executor-js/emulate Okta instance serving OIDC discovery, +// authorize, and token, so the round-trip tests below exercise the same +// discovery -> redirect -> consent -> callback flow a production Google/Okta +// deployment does. Emulator + registered client + env must all exist before +// the app import, so `loadConfig` sees a fully-configured instance at boot. +const BASE = "http://localhost:4788"; +const CALLBACK = `${BASE}/api/auth/oauth2/callback/okta`; + +const reservation = createServer(); +await new Promise((resolve) => reservation.listen(0, "127.0.0.1", resolve)); +const address = reservation.address(); +// oxlint-disable-next-line executor/no-try-catch-or-throw, executor/no-error-constructor -- boundary: the local IdP fixture requires a real listener port +if (!address || typeof address === "string") throw new Error("Missing emulator port"); +await new Promise((resolve) => reservation.close(() => resolve())); +const idp = await createEmulator({ service: "okta", port: address.port }); +afterAll(() => idp.close()); + +const registration = await fetch(`${idp.url}/oauth2/v1/clients`, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + client_name: "executor-selfhost-test", + redirect_uris: [CALLBACK], + grant_types: ["authorization_code"], + response_types: ["code"], + token_endpoint_auth_method: "none", + }), +}).then((r) => r.json() as Promise<{ client_id: string; client_secret: string }>); + +const createIdpUser = (email: string, firstName: string) => + fetch(`${idp.url}/api/v1/users`, { + method: "POST", + headers: { "content-type": "application/json", authorization: "SSWS test" }, + body: JSON.stringify({ profile: { login: email, email, firstName, lastName: "User" } }), + }); +await createIdpUser("alice@example.com", "Alice"); +await createIdpUser("mallory@evil.test", "Mallory"); + +const dataDirectory = mkdtempSync(join(tmpdir(), "eh-sso-public-")); +process.env.EXECUTOR_DATA_DIR = dataDirectory; +process.env.BETTER_AUTH_SECRET = randomBytes(32).toString("hex"); +process.env.EXECUTOR_BOOTSTRAP_ADMIN_EMAIL = "admin@test.local"; +process.env.EXECUTOR_BOOTSTRAP_ADMIN_PASSWORD = "admin-password-123"; +process.env.EXECUTOR_SSO_PROVIDER_ID = "okta"; +process.env.EXECUTOR_SSO_DISCOVERY_URL = `${idp.url}/.well-known/openid-configuration`; +process.env.EXECUTOR_SSO_CLIENT_ID = registration.client_id; +delete process.env.EXECUTOR_SSO_CLIENT_SECRET; +process.env.EXECUTOR_SSO_PUBLIC_CLIENT = "true"; +process.env.EXECUTOR_SSO_ALLOWED_DOMAINS = "Example.com, @second.example ,"; + +const { loadConfig } = await import("../config"); +const { emailDomain } = await import("./sso"); +const { makeSelfHostApiHandler } = await import("../app"); + +const { handler, dispose } = await makeSelfHostApiHandler(); +afterAll(async () => { + await dispose(); + rmSync(dataDirectory, { recursive: true, force: true }); +}); + +const SSO_ENV_KEYS = [ + "EXECUTOR_SSO_PROVIDER_ID", + "EXECUTOR_SSO_PROVIDER_NAME", + "EXECUTOR_SSO_DISCOVERY_URL", + "EXECUTOR_SSO_CLIENT_ID", + "EXECUTOR_SSO_CLIENT_SECRET", + "EXECUTOR_SSO_ALLOWED_DOMAINS", + "EXECUTOR_SSO_PUBLIC_CLIENT", +] as const; + +// Run a block with the SSO env vars swapped out, restoring them afterwards so +// the booted instance's request-time config reads stay consistent. +const withSsoEnv = (overrides: Record, run: () => T): T => { + const saved = Object.fromEntries(SSO_ENV_KEYS.map((k) => [k, process.env[k]])); + for (const key of SSO_ENV_KEYS) { + const value = overrides[key]; + if (value === undefined) delete process.env[key]; + else process.env[key] = value; + } + // oxlint-disable-next-line executor/no-try-catch-or-throw -- boundary: env save/restore around config reads must restore on assertion failure + try { + return run(); + } finally { + for (const key of SSO_ENV_KEYS) { + const value = saved[key]; + if (value === undefined) delete process.env[key]; + else process.env[key] = value; + } + } +}; + +describe("public OIDC config resolution", () => { + it("requires explicit public mode and retains verified-domain admission", () => { + expect(loadConfig().sso?.publicClient).toBe(true); + expect(loadConfig().sso?.clientSecret).toBeUndefined(); + withSsoEnv( + { + EXECUTOR_SSO_PUBLIC_CLIENT: "true", + EXECUTOR_SSO_CLIENT_ID: "id", + EXECUTOR_SSO_CLIENT_SECRET: "secret", + }, + () => { + expect(() => loadConfig()).toThrow(/forbids/); + }, + ); + withSsoEnv({ EXECUTOR_SSO_PUBLIC_CLIENT: "true" }, () => { + expect(() => loadConfig()).toThrow(); + }); + withSsoEnv( + { + EXECUTOR_SSO_PUBLIC_CLIENT: "true", + EXECUTOR_SSO_CLIENT_ID: "id", + EXECUTOR_SSO_PROVIDER_ID: "google", + }, + () => { + expect(() => loadConfig()).toThrow(/ALLOWED_DOMAINS/); + }, + ); + }); + it("normalizes the domain allowlist (trim, lowercase, strip @, drop empties)", () => { + const sso = loadConfig().sso; + expect(sso).toBeDefined(); + expect(sso!.allowedDomains).toEqual(["example.com", "second.example"]); + }); + + it("derives the display name from the provider id when not set", () => { + expect(loadConfig().sso!.providerName).toBe("Okta"); + }); + + it("is undefined when no SSO env is set", () => { + withSsoEnv({}, () => { + expect(loadConfig().sso).toBeUndefined(); + }); + }); + + it("refuses half-configured credentials", () => { + withSsoEnv({ EXECUTOR_SSO_CLIENT_ID: "id-only" }, () => { + expect(() => loadConfig()).toThrow(/must be set together/); + }); + }); + + it("refuses credentials without a provider id", () => { + withSsoEnv({ EXECUTOR_SSO_CLIENT_ID: "id", EXECUTOR_SSO_CLIENT_SECRET: "secret" }, () => { + expect(() => loadConfig()).toThrow(/EXECUTOR_SSO_PROVIDER_ID/); + }); + }); + + it("presets Google's discovery document so only credentials + domains are needed", () => { + withSsoEnv( + { + EXECUTOR_SSO_PROVIDER_ID: "google", + EXECUTOR_SSO_CLIENT_ID: "id.apps.googleusercontent.com", + EXECUTOR_SSO_CLIENT_SECRET: "secret", + EXECUTOR_SSO_ALLOWED_DOMAINS: "example.com", + }, + () => { + const sso = loadConfig().sso; + expect(sso!.discoveryUrl).toBe( + "https://accounts.google.com/.well-known/openid-configuration", + ); + expect(sso!.providerName).toBe("Google"); + }, + ); + }); + + it("refuses a provider without a known or explicit discovery URL", () => { + withSsoEnv( + { + EXECUTOR_SSO_PROVIDER_ID: "okta", + EXECUTOR_SSO_CLIENT_ID: "id", + EXECUTOR_SSO_CLIENT_SECRET: "secret", + EXECUTOR_SSO_ALLOWED_DOMAINS: "example.com", + }, + () => { + expect(() => loadConfig()).toThrow(/EXECUTOR_SSO_DISCOVERY_URL/); + }, + ); + }); + + it("refuses a configured provider without a domain allowlist", () => { + withSsoEnv( + { + EXECUTOR_SSO_PROVIDER_ID: "okta", + EXECUTOR_SSO_DISCOVERY_URL: "https://idp.example/.well-known/openid-configuration", + EXECUTOR_SSO_CLIENT_ID: "id", + EXECUTOR_SSO_CLIENT_SECRET: "secret", + }, + () => { + expect(() => loadConfig()).toThrow(/EXECUTOR_SSO_ALLOWED_DOMAINS/); + }, + ); + }); +}); + +describe("emailDomain", () => { + it("extracts the lowercased domain of a well-formed address", () => { + expect(emailDomain("User@Example.COM")).toBe("example.com"); + }); + + it("returns null for malformed addresses instead of a matchable domain", () => { + expect(emailDomain("@example.com")).toBeNull(); + expect(emailDomain("user@")).toBeNull(); + expect(emailDomain("no-at-sign")).toBeNull(); + }); +}); + +test("auth-config advertises the configured provider (id + name only)", async () => { + const res = await handler(new Request(`${BASE}/api/auth-config`)); + expect(res.status).toBe(200); + expect(await res.json()).toEqual({ ssoProviders: [{ id: "okta", name: "Okta" }] }); +}); + +// --- The full OIDC round-trip against the emulated IdP ----------------------- + +const decodeHtml = (value: string): string => + value + .replaceAll("&", "&") + .replaceAll(""", '"') + .replaceAll("'", "'") + .replaceAll("<", "<") + .replaceAll(">", ">"); + +const formFields = (form: string): Record => { + const fields: Record = {}; + for (const input of form.matchAll(/]*>/gi)) { + const tag = input[0]; + const name = tag.match(/\bname=["']([^"']+)["']/i)?.[1]; + const value = tag.match(/\bvalue=["']([^"']*)["']/i)?.[1] ?? ""; + if (name) fields[decodeHtml(name)] = decodeHtml(value); + } + return fields; +}; + +// Drive the whole flow as the given IdP account: sign-in redirect -> IdP +// consent page (pick the account's form) -> callback back into the app. +// Returns the callback response plus the cookies it set. +const signInThroughIdp = async (email: string) => { + const start = await handler( + new Request(`${BASE}/api/auth/sign-in/oauth2`, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ providerId: "okta", callbackURL: "/" }), + }), + ); + expect(start.status).toBe(200); + const { url } = (await start.json()) as { url: string }; + expect(url.startsWith(idp.url)).toBe(true); + const stateCookies = start.headers + .getSetCookie() + .map((cookie) => cookie.split(";")[0]!) + .join("; "); + + const consentHtml = await fetch(url).then((r) => r.text()); + const form = [...consentHtml.matchAll(//gi)] + .map((m) => m[0]) + .find((f) => f.includes(email)); + expect(form).toBeDefined(); + const action = decodeHtml(form!.match(/\baction=["']([^"']+)["']/i)![1]!); + const consent = await fetch(action, { + method: "POST", + headers: { "content-type": "application/x-www-form-urlencoded" }, + body: new URLSearchParams(formFields(form!)), + redirect: "manual", + }); + expect(consent.status).toBe(302); + const callbackUrl = consent.headers.get("location")!; + expect(callbackUrl.startsWith(CALLBACK)).toBe(true); + + const callback = await handler(new Request(callbackUrl, { headers: { cookie: stateCookies } })); + const cookies = callback.headers + .getSetCookie() + .map((cookie) => cookie.split(";")[0]!) + .join("; "); + return { callback, cookies }; +}; + +test("an allowlisted-domain IdP account signs in and joins the org as a member", async () => { + const { callback, cookies } = await signInThroughIdp("alice@example.com"); + expect(callback.status).toBe(302); + expect(callback.headers.get("location")).toBe("/"); + + const session = await handler( + new Request(`${BASE}/api/auth/get-session`, { headers: { cookie: cookies } }), + ); + expect(session.status).toBe(200); + const sessionBody = (await session.json()) as { user?: { email?: string } }; + expect(sessionBody.user?.email).toBe("alice@example.com"); + + const orgs = await handler( + new Request(`${BASE}/api/auth/organization/list`, { headers: { cookie: cookies } }), + ); + expect(orgs.status).toBe(200); + expect(((await orgs.json()) as unknown[]).length).toBe(1); +}); + +test("an IdP account outside the allowlist is refused and gets no session", async () => { + const { callback, cookies } = await signInThroughIdp("mallory@evil.test"); + // The rejection surfaces as better-auth's error redirect, not a success. + expect(callback.status).toBe(302); + expect(callback.headers.get("location")).not.toBe("/"); + expect(callback.headers.get("location")).toContain("error"); + + const session = await handler( + new Request(`${BASE}/api/auth/get-session`, { headers: { cookie: cookies } }), + ); + const sessionBody = (await session.json()) as { user?: unknown } | null; + expect(sessionBody?.user ?? null).toBeNull(); +}); + +// --- Invite-code regressions with SSO configured ------------------------------ + +test("invite-gated email signup still works with an SSO provider configured", async () => { + const inviteCode = await mintInviteCode(handler); + const signUp = await handler( + new Request(`${BASE}/api/auth/sign-up/email`, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + email: "member@test.local", + password: "member-password-123", + name: "Member", + inviteCode, + }), + }), + ); + expect(signUp.status).toBe(200); +}); + +test("email signup without an invite is still refused with an SSO provider configured", async () => { + const signUp = await handler( + new Request(`${BASE}/api/auth/sign-up/email`, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + email: "stranger@example.com", + password: "stranger-password-123", + name: "Stranger", + }), + }), + ); + expect(signUp.status).toBe(403); +}); diff --git a/apps/host-selfhost/src/auth/sso.test.ts b/apps/host-selfhost/src/auth/sso.test.ts index 92f03d8791..2cf40df0ff 100644 --- a/apps/host-selfhost/src/auth/sso.test.ts +++ b/apps/host-selfhost/src/auth/sso.test.ts @@ -64,6 +64,7 @@ const SSO_ENV_KEYS = [ "EXECUTOR_SSO_CLIENT_ID", "EXECUTOR_SSO_CLIENT_SECRET", "EXECUTOR_SSO_ALLOWED_DOMAINS", + "EXECUTOR_SSO_PUBLIC_CLIENT", ] as const; // Run a block with the SSO env vars swapped out, restoring them afterwards so diff --git a/apps/host-selfhost/src/auth/sso.ts b/apps/host-selfhost/src/auth/sso.ts index 7d2d00a3df..7a69de286d 100644 --- a/apps/host-selfhost/src/auth/sso.ts +++ b/apps/host-selfhost/src/auth/sso.ts @@ -36,7 +36,7 @@ export const isAdmitted = ( export const ssoProviderConfig = (sso: SsoConfig) => ({ providerId: sso.providerId, clientId: sso.clientId, - clientSecret: sso.clientSecret, + ...(sso.publicClient ? {} : { clientSecret: sso.clientSecret }), discoveryUrl: sso.discoveryUrl, scopes: ["openid", "email", "profile"], pkce: true, diff --git a/apps/host-selfhost/src/config.ts b/apps/host-selfhost/src/config.ts index 07dcc56d14..3b011d71ea 100644 --- a/apps/host-selfhost/src/config.ts +++ b/apps/host-selfhost/src/config.ts @@ -25,7 +25,7 @@ export const SELF_HOST_SCHEMA_VERSION = "1.0.0"; * allowlist is what replaces the invite code for SSO sign-ups (the domain IS * the invite), so it is required whenever the provider is enabled. */ -export interface SsoConfig { +export type SsoConfig = { /** URL-safe id — also the OAuth callback path segment and the button key. */ readonly providerId: string; /** Display name for the login button (“Continue with ”). */ @@ -33,10 +33,12 @@ export interface SsoConfig { /** The IdP's OIDC discovery document (…/.well-known/openid-configuration). */ readonly discoveryUrl: string; readonly clientId: string; - readonly clientSecret: string; /** Lowercased email domains admitted without an invite code. */ readonly allowedDomains: readonly string[]; -} +} & ( + | { readonly publicClient: true; readonly clientSecret?: never } + | { readonly publicClient: false; readonly clientSecret: string } +); export interface SelfHostConfig { /** Bind address. Defaults to loopback. */ @@ -230,8 +232,13 @@ const PROVIDER_ID_PATTERN = /^[a-z0-9-]{1,48}$/; const resolveSso = (): SsoConfig | undefined => { const clientId = process.env.EXECUTOR_SSO_CLIENT_ID?.trim(); const clientSecret = process.env.EXECUTOR_SSO_CLIENT_SECRET?.trim(); - if (!clientId && !clientSecret) return undefined; - if (!clientId || !clientSecret) { + const publicClient = process.env.EXECUTOR_SSO_PUBLIC_CLIENT === "true"; + if (publicClient && clientSecret) { + // oxlint-disable-next-line executor/no-try-catch-or-throw, executor/no-error-constructor -- boundary: public-client mode must not accidentally send a confidential credential + throw new Error("EXECUTOR_SSO_PUBLIC_CLIENT forbids EXECUTOR_SSO_CLIENT_SECRET"); + } + if (!clientId && !clientSecret && !publicClient) return undefined; + if (!clientId || (!publicClient && !clientSecret)) { // oxlint-disable-next-line executor/no-try-catch-or-throw, executor/no-error-constructor -- boundary: refuse to boot on half-configured SSO credentials throw new Error("EXECUTOR_SSO_CLIENT_ID and EXECUTOR_SSO_CLIENT_SECRET must be set together"); } @@ -263,7 +270,10 @@ const resolveSso = (): SsoConfig | undefined => { const providerName = process.env.EXECUTOR_SSO_PROVIDER_NAME?.trim() || providerId.charAt(0).toUpperCase() + providerId.slice(1); - return { providerId, providerName, discoveryUrl, clientId, clientSecret, allowedDomains }; + const common = { providerId, providerName, discoveryUrl, clientId, allowedDomains }; + return clientSecret + ? { ...common, publicClient: false, clientSecret } + : { ...common, publicClient: true }; }; // A malformed value is refused rather than silently ignored: an operator who diff --git a/apps/host-selfhost/src/rivet-setup-network.test.ts b/apps/host-selfhost/src/rivet-setup-network.test.ts new file mode 100644 index 0000000000..443b9109c3 --- /dev/null +++ b/apps/host-selfhost/src/rivet-setup-network.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, it } from "@effect/vitest"; +import { isPrivateSetupAddress } from "./rivet-setup"; + +describe("private Rivet setup transport", () => { + it("accepts loopback, LAN and tailnet destinations, including mapped IPv6", () => { + for (const address of [ + "127.0.0.1", + "::1", + "10.0.1.2", + "192.168.1.2", + "172.16.0.1", + "100.64.0.1", + "fd00::1", + "::ffff:10.0.1.2", + ]) + expect(isPrivateSetupAddress(address)).toBe(true); + }); + it("refuses public, wildcard, link-local and unresolved destinations", () => { + for (const address of [ + "8.8.8.8", + "0.0.0.0", + "::", + "169.254.169.254", + "fe80::1", + "2001:4860::1", + "example.test", + "172.32.0.1", + "100.128.0.1", + ]) + expect(isPrivateSetupAddress(address)).toBe(false); + }); +}); diff --git a/apps/host-selfhost/src/rivet-setup-state.test.ts b/apps/host-selfhost/src/rivet-setup-state.test.ts new file mode 100644 index 0000000000..4d8a7bbf08 --- /dev/null +++ b/apps/host-selfhost/src/rivet-setup-state.test.ts @@ -0,0 +1,107 @@ +import { describe, expect, it } from "@effect/vitest"; +import { + decodeSetupStatus, + setupActive, + setupInstruction, + localSignInUrl, +} from "../web/rivet-setup-state"; + +const state = () => + decodeSetupStatus({ + phoneConnected: true, + phoneEndpoint: "wss://phone.example.test/phone", + googleConfigured: true, + googleSessionPresent: false, + googleAuthenticated: false, + checkedAt: null, + error: null, + google: null, + }); +describe("Rivet setup state", () => { + it("local Google sign-in stays bound to the phone host and current one-time attempt", () => { + const uri = new URL("rivet-pair://google"); + const id = "00000000-0000-4000-8000-000000000001"; + uri.searchParams.set("endpoint", "https://phone.example.test/setup/google/credentials"); + uri.searchParams.set("id", id); + uri.hash = "b".repeat(64); + const local = { + ...state(), + google: { + id, + state: "sign_in" as const, + method: "local-browser" as const, + expiresAt: Date.now() + 600000, + handoff: uri.href, + }, + }; + expect(localSignInUrl(local)).toBe(uri.href); + expect(localSignInUrl({ ...local, google: { ...local.google, expiresAt: 0 } })).toBeNull(); + expect(setupInstruction(local)).toContain("phone's passkey"); + uri.searchParams.set("endpoint", "https://another.example.test/setup/google/credentials"); + expect(localSignInUrl({ ...local, google: { ...local.google, handoff: uri.href } })).toBeNull(); + expect(localSignInUrl({ ...local, google: { ...local.google, state: "canceled" } })).toBeNull(); + }); + it("a connected phone does not imply Google authentication", () => { + expect(setupInstruction(state())).toContain("Connect Google Messages"); + expect(setupActive(state())).toBe(false); + }); + it("a saved session still requires upstream verification", () => { + expect(setupInstruction({ ...state(), googleSessionPresent: true })).toContain( + "Verify the saved", + ); + expect( + setupInstruction({ + ...state(), + googleSessionPresent: true, + googleAuthenticated: true, + checkedAt: 123, + }), + ).toContain("ready"); + }); + it("phone confirmation remains an explicit user action", () => { + const pending = { + ...state(), + google: { + id: "synthetic", + state: "phone_confirmation" as const, + expiresAt: 123, + emoji: "🦊", + }, + }; + expect(setupActive(pending)).toBe(true); + expect(setupInstruction(pending)).toContain("confirm the matching emoji"); + }); + it("a saved session survives failed initial verification and a later successful check", () => { + const failed = { + ...state(), + google: { + id: "synthetic", + state: "failed" as const, + expiresAt: 123, + error: "GOOGLE_PAIRING_FAILED", + }, + }; + expect(setupInstruction(failed)).toContain("Retry"); + expect(setupInstruction({ ...failed, googleSessionPresent: true })).toContain( + "Verify the saved", + ); + expect( + setupInstruction({ + ...failed, + googleSessionPresent: true, + googleAuthenticated: true, + checkedAt: 123, + }), + ).toContain("ready"); + expect(setupActive(failed)).toBe(false); + }); + it("refuses malformed states instead of marking a connection ready", () => { + expect(() => decodeSetupStatus({ ...state(), phoneConnected: "true" })).toThrow(); + expect(() => + decodeSetupStatus({ + ...state(), + google: { id: "synthetic", state: "anything", expiresAt: 123 }, + }), + ).toThrow(); + }); +}); diff --git a/apps/host-selfhost/src/rivet-setup.node.test.ts b/apps/host-selfhost/src/rivet-setup.node.test.ts new file mode 100644 index 0000000000..6de7b7834b --- /dev/null +++ b/apps/host-selfhost/src/rivet-setup.node.test.ts @@ -0,0 +1,116 @@ +import { mkdtempSync, writeFileSync, rmSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; +import { afterAll, expect, test } from "@effect/vitest"; + +const directory = mkdtempSync(join(tmpdir(), "executor-rivet-owner-")); +process.env.EXECUTOR_DATA_DIR = directory; +process.env.BETTER_AUTH_SECRET = "synthetic-rivet-setup-secret-0123456789abcdef"; +process.env.EXECUTOR_BOOTSTRAP_ADMIN_EMAIL = "admin@rivet-setup.test"; +process.env.EXECUTOR_BOOTSTRAP_ADMIN_PASSWORD = "synthetic-admin-password-123"; +process.env.EXECUTOR_RIVET_SETUP_CONFIG_FILE = join(directory, "setup-config.json"); +const config = (ownerId: string) => + writeFileSync( + process.env.EXECUTOR_RIVET_SETUP_CONFIG_FILE!, + JSON.stringify({ + endpoint: "http://127.0.0.1:1/setup", + tokenFile: join(directory, "not-created.token"), + ownerId, + integration: "synthetic-rivet", + browserOrigin: "http://localhost:4788", + }), + { mode: 0o600 }, + ); +config("not-the-owner"); +const { makeSelfHostApiHandler } = await import("./app"); +let app = await makeSelfHostApiHandler(); +afterAll(async () => { + await app.dispose(); + rmSync(directory, { recursive: true, force: true }); +}); + +test("Rivet management uses the real session gate, exact configured account owner, and same-origin requests", async () => { + const url = "http://localhost:4788/api/rivet-setup/synthetic-rivet/"; + expect((await app.handler(new Request(url + "status"))).status).toBe(401); + const signedIn = await app.handler( + new Request("http://localhost:4788/api/auth/sign-in/email", { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + email: process.env.EXECUTOR_BOOTSTRAP_ADMIN_EMAIL, + password: process.env.EXECUTOR_BOOTSTRAP_ADMIN_PASSWORD, + }), + }), + ); + expect(signedIn.status).toBe(200); + const session = (await signedIn.json()) as { user: { id: string } }; + const token = signedIn.headers.get("set-auth-token")!; + expect(token).toBeTruthy(); + const auth = { Authorization: `Bearer ${token}` }; + expect((await app.handler(new Request(url + "status", { headers: auth }))).status).toBe(403); + config(session.user.id); + const post = (origin: string | null) => + app.handler( + new Request(url + "phone-qr", { + method: "POST", + headers: { ...auth, "content-type": "application/json", ...(origin ? { origin } : {}) }, + body: "{}", + }), + ); + expect((await post(null)).status).toBe(403); + expect((await post("https://another.example.test")).status).toBe(403); + expect((await post("http://localhost:4788")).status).toBe(502); // Authorized; missing owner token refuses upstream access. + expect( + ( + await app.handler( + new Request(url.replace("synthetic-rivet", "another-integration") + "status", { + headers: auth, + }), + ) + ).status, + ).toBe(404); +}); + +test("The configured SSO account can own setup without an instance admin role", async () => { + // Close the app before opening a fixture writer; never create competing WAL + // connections to the running self-host database. + await app.dispose(); + const { createClient } = await import("@libsql/client"); + const db = createClient({ url: `file:${join(directory, "data.db")}` }); + // oxlint-disable-next-line executor/no-try-catch-or-throw -- fixture boundary: close the offline database writer even when setup fails + try { + await db.execute("UPDATE member SET role = 'member'"); + } finally { + db.close(); + } + app = await makeSelfHostApiHandler(); + const signedIn = await app.handler( + new Request("http://localhost:4788/api/auth/sign-in/email", { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + email: process.env.EXECUTOR_BOOTSTRAP_ADMIN_EMAIL, + password: process.env.EXECUTOR_BOOTSTRAP_ADMIN_PASSWORD, + }), + }), + ); + expect(signedIn.status).toBe(200); + const session = (await signedIn.json()) as { user: { id: string } }; + config(session.user.id); + const headers = { Authorization: `Bearer ${signedIn.headers.get("set-auth-token")!}` }; + expect( + ( + await app.handler( + new Request("http://localhost:4788/api/rivet-setup/synthetic-rivet/status", { headers }), + ) + ).status, + ).toBe(502); + config("another-owner"); + expect( + ( + await app.handler( + new Request("http://localhost:4788/api/rivet-setup/synthetic-rivet/status", { headers }), + ) + ).status, + ).toBe(403); +}); diff --git a/apps/host-selfhost/src/rivet-setup.ts b/apps/host-selfhost/src/rivet-setup.ts new file mode 100644 index 0000000000..b3a55023df --- /dev/null +++ b/apps/host-selfhost/src/rivet-setup.ts @@ -0,0 +1,257 @@ +/* oxlint-disable executor/no-try-catch-or-throw, executor/no-error-constructor, executor/no-promise-reject, executor/no-promise-catch -- Owner management is a Node HTTP and credential-file boundary. Failures return fixed machine codes. */ +import { constants, openSync, fstatSync, readFileSync, closeSync } from "node:fs"; +import { isAbsolute } from "node:path"; +import { lookup } from "node:dns/promises"; +import { BlockList, isIP } from "node:net"; +import { request as httpRequest } from "node:http"; +import { request as httpsRequest } from "node:https"; +import { Schema } from "effect"; + +import type { BetterAuthHandle } from "./auth/better-auth"; + +const decodeJson = Schema.decodeUnknownSync(Schema.fromJsonString(Schema.Unknown)); + +export interface RivetSetupConfig { + readonly endpoint: string; + readonly tokenFile: string; + readonly ownerId: string; + readonly integration: string; + readonly browserOrigin: string; +} + +export function rivetSetupConfig(): RivetSetupConfig | null { + let configured: Partial = {}; + const path = process.env.EXECUTOR_RIVET_SETUP_CONFIG_FILE; + if (path) { + if (!isAbsolute(path)) throw new Error("Invalid Rivet setup configuration path"); + const fd = openSync(path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK); + try { + const stat = fstatSync(fd); + if ( + !stat.isFile() || + stat.uid !== process.getuid?.() || + stat.mode & 0o077 || + stat.size > 16_384 + ) + throw new Error("Invalid Rivet setup configuration file"); + const value: unknown = decodeJson(readFileSync(fd, "utf8")); + if ( + value === null || + typeof value !== "object" || + Array.isArray(value) || + Object.entries(value).some( + ([key, field]) => + !["endpoint", "tokenFile", "ownerId", "integration", "browserOrigin"].includes(key) || + typeof field !== "string", + ) + ) + throw new Error("Invalid Rivet setup configuration fields"); + configured = value; + } finally { + closeSync(fd); + } + } + const endpoint = configured.endpoint ?? process.env.EXECUTOR_RIVET_SETUP_ENDPOINT; + const tokenFile = configured.tokenFile ?? process.env.EXECUTOR_RIVET_SETUP_TOKEN_FILE; + const ownerId = configured.ownerId ?? process.env.EXECUTOR_RIVET_SETUP_OWNER_ID; + const origin = configured.browserOrigin ?? process.env.EXECUTOR_WEB_BASE_URL; + if (!endpoint || !tokenFile || !ownerId || !origin) return null; + const url = new URL(endpoint); + if ( + url.username || + url.password || + url.search || + url.hash || + url.pathname !== "/setup" || + !( + url.protocol === "https:" || + (url.protocol === "http:" && ["127.0.0.1", "localhost"].includes(url.hostname)) + ) || + !isAbsolute(tokenFile) || + !/^[a-zA-Z0-9_-]{1,128}$/.test(ownerId) + ) + throw new Error("Invalid Rivet setup configuration"); + return { + endpoint, + tokenFile, + ownerId, + integration: configured.integration ?? process.env.EXECUTOR_RIVET_SETUP_INTEGRATION ?? "rivet", + browserOrigin: new URL(origin).origin, + }; +} + +function setupToken(path: string): string { + const fd = openSync(path, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK); + try { + const stat = fstatSync(fd); + if ( + !stat.isFile() || + stat.nlink !== 1 || + stat.uid !== process.getuid?.() || + stat.mode & 0o077 || + stat.size > 128 + ) + throw new Error("Invalid setup credential file"); + const token = readFileSync(fd, "utf8").trim(); + if (!/^[a-f0-9]{64}$/.test(token)) throw new Error("Invalid setup credential"); + return token; + } finally { + closeSync(fd); + } +} + +const privateNetwork = new BlockList(); +privateNetwork.addSubnet("127.0.0.0", 8, "ipv4"); +privateNetwork.addAddress("::1", "ipv6"); +privateNetwork.addSubnet("10.0.0.0", 8, "ipv4"); +privateNetwork.addSubnet("172.16.0.0", 12, "ipv4"); +privateNetwork.addSubnet("192.168.0.0", 16, "ipv4"); +privateNetwork.addSubnet("100.64.0.0", 10, "ipv4"); +privateNetwork.addSubnet("fc00::", 7, "ipv6"); + +export const isPrivateSetupAddress = (address: string): boolean => { + const family = isIP(address); + return family !== 0 && privateNetwork.check(address, family === 6 ? "ipv6" : "ipv4"); +}; + +async function setupRequest( + url: URL, + method: string, + headers: Record, + body?: string, +) { + const addresses = await lookup(url.hostname, { all: true }); + if (addresses.length === 0 || addresses.some((entry) => !isPrivateSetupAddress(entry.address))) + throw new Error("Private setup destination required"); + const address = addresses.find((entry) => entry.family === 4) ?? addresses[0]!; + return new Promise<{ status: number; value: unknown }>((resolve, reject) => { + const request = (url.protocol === "https:" ? httpsRequest : httpRequest)( + url, + { + method, + headers, + signal: AbortSignal.timeout(40_000), + family: address.family, + lookup: (_hostname, _options, callback) => callback(null, address.address, address.family), + }, + (upstream) => { + // No redirects, including redirects to another private host. TLS still + // validates the configured hostname while DNS stays pinned for this request. + if (!upstream.statusCode || (upstream.statusCode >= 300 && upstream.statusCode < 400)) { + upstream.destroy(); + reject(new Error("Invalid setup response")); + return; + } + const chunks: Buffer[] = []; + let size = 0; + upstream.on("data", (chunk: Buffer) => { + size += chunk.length; + if (size > 2 * 1024 * 1024) { + upstream.destroy(new Error("Setup response too large")); + return; + } + chunks.push(chunk); + }); + upstream.on("error", reject); + upstream.on("end", () => { + try { + const raw = new TextDecoder("utf-8", { fatal: true }).decode(Buffer.concat(chunks)); + resolve({ status: upstream.statusCode ?? 502, value: decodeJson(raw) }); + } catch { + reject(new Error("Invalid setup response")); + } + }); + }, + ); + request.on("error", reject); + request.end(body); + }); +} + +const routes = new Map([ + ["status", "GET"], + ["phone-qr", "POST"], + ["verify", "POST"], + ["google/start", "POST"], + ["google/cancel", "POST"], +]); +const response = (status: number, body: unknown) => + Response.json(body, { + status, + headers: { + "Cache-Control": "no-store", + Pragma: "no-cache", + "X-Content-Type-Options": "nosniff", + }, + }); + +/** Separate owner management bridge; normal MCP credentials never enter this path. */ +export function makeRivetSetupHandler( + betterAuth: BetterAuthHandle, + config: () => RivetSetupConfig | null = rivetSetupConfig, +) { + return async (request: Request): Promise => { + let settings: RivetSetupConfig | null; + try { + settings = config(); + } catch { + return response(503, { error: "SETUP_CONFIGURATION_INVALID" }); + } + if (!settings) return response(404, { error: "SETUP_NOT_CONFIGURED" }); + const path = new URL(request.url).pathname.match(/^\/api\/rivet-setup\/([^/]+)\/(.+)$/); + if (!path || path[1] !== settings.integration || routes.get(path[2]!) !== request.method) + return response(404, { error: "SETUP_ROUTE_NOT_FOUND" }); + // Setup belongs to the explicitly configured account, independent of its + // instance role. A local admin record must not stand in for an SSO user. + const session = await betterAuth.auth.api + .getSession({ headers: request.headers }) + .catch(() => null); + if (!session) return response(401, { error: "SETUP_OWNER_REQUIRED" }); + if (session.user.id !== settings.ownerId) + return response(403, { error: "SETUP_OWNER_REQUIRED" }); + let body: string | undefined; + if (request.method === "POST") { + if ( + request.headers.get("origin") !== settings.browserOrigin || + request.headers.get("content-type") !== "application/json" + ) + return response(403, { error: "SETUP_SAME_ORIGIN_REQUIRED" }); + const reader = request.body?.getReader(); + if (!reader) return response(400, { error: "SETUP_BODY_REQUIRED" }); + let bytes = new Uint8Array(); + try { + for (;;) { + const chunk = await reader.read(); + if (chunk.done) break; + if (bytes.length + chunk.value.length > 16_384) { + await reader.cancel(); + return response(413, { error: "SETUP_BODY_TOO_LARGE" }); + } + const combined = new Uint8Array(bytes.length + chunk.value.length); + combined.set(bytes); + combined.set(chunk.value, bytes.length); + bytes = combined; + } + body = new TextDecoder("utf-8", { fatal: true }).decode(bytes); + decodeJson(body); + } catch { + return response(400, { error: "INVALID_SETUP_BODY" }); + } + } + try { + const upstream = await setupRequest( + new URL(`${settings.endpoint}/${path[2]}`), + request.method, + { + Authorization: `Bearer ${setupToken(settings.tokenFile)}`, + "X-Rivet-Setup-Owner": session.user.id, + ...(body === undefined ? {} : { "Content-Type": "application/json" }), + }, + body, + ); + return response(upstream.status, upstream.value); + } catch { + return response(502, { error: "SETUP_SERVICE_UNAVAILABLE" }); + } + }; +} diff --git a/apps/host-selfhost/web/rivet-setup-panel.tsx b/apps/host-selfhost/web/rivet-setup-panel.tsx new file mode 100644 index 0000000000..233b47d4dd --- /dev/null +++ b/apps/host-selfhost/web/rivet-setup-panel.tsx @@ -0,0 +1,296 @@ +/* oxlint-disable executor/no-try-catch-or-throw, executor/no-error-constructor -- This component is the browser fetch and keyboard adapter; imperative failures become transient React UI state, outside the Effect domain. */ +import { useCallback, useEffect, useRef, useState } from "react"; +import { Schema } from "effect"; +import { Button } from "@executor-js/react/components/button"; +import { + decodeSetupStatus, + setupActive, + setupInstruction, + localSignInUrl, + type SetupStatus, +} from "./rivet-setup-state"; + +const Image = Schema.Struct({ + image: Schema.String, + endpoint: Schema.optional(Schema.String), +}); +const decodeImage = Schema.decodeUnknownSync(Image); + +export function RivetSetupPanel(props: { readonly integration: string }) { + const [status, setStatus] = useState(null); + const [available, setAvailable] = useState(true); + const [qr, setQr] = useState(null); + const [error, setError] = useState(null); + const [busy, setBusy] = useState(false); + const [waitingUntil, setWaitingUntil] = useState(0); + const base = `/api/rivet-setup/${encodeURIComponent(props.integration)}`; + const mounted = useRef(true); + const actionPending = useRef(false); + + const call = useCallback( + async (route: string, body?: unknown) => { + const result = await fetch(`${base}/${route}`, { + credentials: "same-origin", + cache: "no-store", + ...(body === undefined + ? {} + : { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(body), + }), + signal: AbortSignal.timeout(45_000), + }); + if (result.status === 404 || result.status === 403 || result.status === 401) { + if (mounted.current) { + setAvailable(false); + setStatus(null); + setQr(null); + } + throw new Error("SETUP_UNAVAILABLE"); + } + const json: unknown = await result.json(); + if (!result.ok) throw new Error("SETUP_OPERATION_FAILED"); + return json; + }, + [base], + ); + + const refresh = useCallback(async () => { + const current = decodeSetupStatus(await call("status")); + if (mounted.current) { + setStatus(current); + if (current.phoneConnected) setQr(null); + } + return current; + }, [call]); + + useEffect(() => { + mounted.current = true; + setAvailable(true); + setStatus(null); + setQr(null); + setError(null); + void (async () => { + try { + await refresh(); + } catch { + if (mounted.current) setError("Could not check Rivet setup. Retry the connection check."); + } + })(); + return () => { + mounted.current = false; + }; + }, [refresh]); + + const polling = qr !== null || (status !== null && setupActive(status)); + useEffect(() => { + if (!polling) return; + let stopped = false; + let pending = false; + const deadline = waitingUntil || status?.google?.expiresAt || Date.now() + 600_000; + const tick = async () => { + if (stopped || pending || document.hidden) return; + if (Date.now() >= deadline) { + stopped = true; + setQr(null); + setError("Setup wait expired. Check the phone or start setup again."); + return; + } + pending = true; + try { + await refresh(); + if (!stopped && mounted.current) setError(null); + } catch { + if (!stopped && mounted.current) + setError("Could not refresh setup. Your saved connections are preserved."); + } finally { + pending = false; + } + }; + const timer = setInterval(() => { + void tick(); + }, 1500); + void tick(); + return () => { + stopped = true; + clearInterval(timer); + }; + }, [polling, call, refresh, waitingUntil, status?.google?.expiresAt]); + + const act = async (operation: () => Promise) => { + if (actionPending.current) return; + actionPending.current = true; + setBusy(true); + setError(null); + try { + await operation(); + } catch { + if (mounted.current) setError("Setup could not finish. Check the connection and retry."); + } finally { + actionPending.current = false; + if (mounted.current) setBusy(false); + } + }; + + if (!available) return null; + if (!status) + return error ? ( +
+

{error}

+ +
+ ) : null; + const active = setupActive(status); + const handoff = localSignInUrl(status); + + return ( +
+ ); +} diff --git a/apps/host-selfhost/web/rivet-setup-state.ts b/apps/host-selfhost/web/rivet-setup-state.ts new file mode 100644 index 0000000000..354d331e86 --- /dev/null +++ b/apps/host-selfhost/web/rivet-setup-state.ts @@ -0,0 +1,94 @@ +import { Schema } from "effect"; + +export const SetupStatusSchema = Schema.Struct({ + phoneConnected: Schema.Boolean, + phoneEndpoint: Schema.String, + googleConfigured: Schema.Boolean, + googleSessionPresent: Schema.Boolean, + googleAuthenticated: Schema.Boolean, + checkedAt: Schema.NullOr(Schema.Number), + error: Schema.NullOr(Schema.String), + google: Schema.NullOr( + Schema.Struct({ + id: Schema.String, + state: Schema.Literals([ + "starting", + "sign_in", + "phone_confirmation", + "verifying", + "complete", + "failed", + "canceled", + ]), + expiresAt: Schema.Number, + method: Schema.optional(Schema.Literal("local-browser")), + handoff: Schema.optional(Schema.String), + error: Schema.optional(Schema.String), + emoji: Schema.optional(Schema.String), + }), + ), +}); +export type SetupStatus = typeof SetupStatusSchema.Type; +export const decodeSetupStatus = Schema.decodeUnknownSync(SetupStatusSchema); + +export const setupActive = (status: SetupStatus) => + status.google !== null && + ["starting", "sign_in", "phone_confirmation", "verifying"].includes(status.google.state); + +export function localSignInUrl(status: SetupStatus): string | null { + if ( + status.google?.method !== "local-browser" || + status.google.state !== "sign_in" || + !status.google.handoff || + Date.now() >= status.google.expiresAt + ) + return null; + if (!URL.canParse(status.google.handoff) || !URL.canParse(status.phoneEndpoint)) return null; + const uri = new URL(status.google.handoff); + const rawEndpoint = uri.searchParams.get("endpoint") ?? ""; + if (!URL.canParse(rawEndpoint)) return null; + const endpoint = new URL(rawEndpoint); + const phone = new URL(status.phoneEndpoint); + return uri.protocol === "rivet-pair:" && + uri.hostname === "google" && + !uri.pathname && + !uri.username && + !uri.password && + !uri.port && + uri.searchParams.size === 2 && + uri.searchParams.get("id") === status.google.id && + /^[a-f0-9]{64}$/.test(uri.hash.slice(1)) && + endpoint.protocol === "https:" && + endpoint.host === phone.host && + !endpoint.username && + !endpoint.password && + !endpoint.port && + !endpoint.search && + !endpoint.hash && + endpoint.pathname === "/setup/google/credentials" + ? uri.href + : null; +} + +export function setupInstruction(status: SetupStatus): string { + if ( + (status.google?.state === "sign_in" || status.google?.state === "starting") && + status.google.method === "local-browser" + ) + return "Open Google sign-in on a nearby computer. Use your phone's passkey in Chrome, then confirm the Messages emoji here."; + if (status.google?.state === "phone_confirmation") + return "Open Google Messages on your phone and confirm the matching emoji."; + if (status.google?.state === "sign_in" || status.google?.state === "starting") + return "Google sign-in requires the installed Rivet helper on a nearby computer."; + if (status.google?.state === "verifying") + return "Verifying Google Messages authentication without fetching history."; + if (status.google?.state === "failed" && !status.googleSessionPresent) + return "Google Messages pairing did not finish. Retry when you are ready."; + if (!status.phoneConnected) + return "Connect your phone: scan the pairing QR in Rivet, review the address, then Save and connect."; + if (status.googleConfigured && !status.googleAuthenticated) + return status.googleSessionPresent + ? "Your phone is connected. Verify the saved Google Messages session." + : "Your phone is connected. Connect Google Messages to enable its protocol tools."; + return "Your configured connections are ready."; +} diff --git a/apps/host-selfhost/web/routes/__root.tsx b/apps/host-selfhost/web/routes/__root.tsx index 75b1a55343..c92b49a3a5 100644 --- a/apps/host-selfhost/web/routes/__root.tsx +++ b/apps/host-selfhost/web/routes/__root.tsx @@ -3,6 +3,13 @@ import { useEffect, useState, type ReactNode } from "react"; import { ExecutorProvider } from "@executor-js/react/api/provider"; import { ExecutorPluginsProvider } from "@executor-js/sdk/client"; +import { IntegrationSetupProvider } from "@executor-js/react/components/integration-setup"; +import { RivetSetupPanel } from "../rivet-setup-panel"; + +const renderIntegrationSetup = (integration: string) => ( + +); + import { ArtifactRendererProvider } from "@executor-js/react/api/artifact-renderer"; import { OrganizationProvider } from "@executor-js/react/api/organization-context"; import { OrgSlugGate } from "@executor-js/react/multiplayer/org-slug-gate"; @@ -179,11 +186,13 @@ function AuthenticatedApp() { to select anyway. */} - {organization ? ( - {gated} - ) : ( - gated - )} + + {organization ? ( + {gated} + ) : ( + gated + )} + diff --git a/e2e/selfhost/rivet-setup-ui.test.ts b/e2e/selfhost/rivet-setup-ui.test.ts new file mode 100644 index 0000000000..d118174b15 --- /dev/null +++ b/e2e/selfhost/rivet-setup-ui.test.ts @@ -0,0 +1,143 @@ +import { randomBytes } from "node:crypto"; +import { writeFileSync, rmSync } from "node:fs"; +import { join } from "node:path"; +import { expect } from "@effect/vitest"; +import { Effect } from "effect"; +import { composePluginApi } from "@executor-js/api/server"; +import { mcpHttpPlugin } from "@executor-js/plugin-mcp/api"; +import { IntegrationSlug } from "@executor-js/sdk/shared"; +import { scenario } from "../src/scenario"; +import { Api, Browser, Target } from "../src/services"; +const api = composePluginApi([mcpHttpPlugin()] as const); +scenario( + "Rivet setup · QR, cancellation, sign-in and phone confirmation", + { + timeout: 180_000, + skip: process.env.E2E_RIVET_SETUP_URL + ? undefined + : "Requires the native synthetic Rivet fixture described in apps/host-selfhost/docs/rivet.md", + }, + Effect.gen(function* () { + const target = yield* Target; + const browser = yield* Browser; + const { client: makeClient } = yield* Api; + const directory = process.env.E2E_RIVET_SETUP_DIRECTORY; + const endpoint = process.env.E2E_RIVET_SETUP_URL; + const configFile = process.env.EXECUTOR_RIVET_SETUP_CONFIG_FILE; + if (!directory || !endpoint || !configFile) + throw new Error("Native synthetic Rivet fixture is required"); + const identity = yield* target.newIdentity(); + const client = yield* makeClient(api, identity); + const slug = IntegrationSlug.make(`rivet_setup_${randomBytes(4).toString("hex")}`); + const session = yield* Effect.promise(async () => { + const response = await fetch(new URL("/api/auth/get-session", target.baseUrl), { + headers: identity.headers, + }); + return (await response.json()) as { user: { id: string } }; + }); + writeFileSync(join(directory, "owner-id"), session.user.id, { mode: 0o600 }); + writeFileSync( + configFile, + JSON.stringify({ + endpoint: endpoint + "/setup", + tokenFile: join(directory, "setup.token"), + ownerId: session.user.id, + integration: slug, + browserOrigin: new URL(target.baseUrl).origin, + }), + { mode: 0o600 }, + ); + yield* client.mcp.addServer({ + payload: { + name: "Synthetic Rivet setup", + slug, + transport: "remote", + endpoint: endpoint + "/mcp", + remoteTransport: "streamable-http", + headers: { Authorization: "Bearer " + "c".repeat(64) }, + }, + }); + yield* Effect.gen(function* () { + yield* browser.session(identity, async ({ page, step }) => { + await step("Open Rivet setup on the integration page", async () => { + await page.goto(`/default/integrations/${slug}`, { waitUntil: "domcontentloaded" }); + await page.getByRole("heading", { name: "Set up Rivet" }).waitFor(); + await page.getByText("Needs connection", { exact: true }).waitFor(); + }); + await step("Show the private phone QR and detect the phone connecting", async () => { + await page.getByRole("button", { name: "Connect phone", exact: true }).click(); + const qr = page.getByRole("img", { name: "Scan this private QR in Rivet on your phone" }); + await qr.waitFor(); + writeFileSync(join(directory, "connect-phone.synthetic"), "", { mode: 0o600 }); + await page.getByText("Connected", { exact: true }).waitFor(); + await qr.waitFor({ state: "detached" }); + }); + await step("Start local Google sign-in and cancel the attempt", async () => { + await page.getByRole("button", { name: "Connect Google Messages", exact: true }).click(); + await page.getByRole("link", { name: "Sign in with Google passkey" }).waitFor(); + await page.getByRole("button", { name: "Cancel setup", exact: true }).click(); + await page + .getByRole("button", { name: "Connect Google Messages", exact: true }) + .waitFor(); + await page + .getByRole("img", { name: "Interactive isolated Google sign-in" }) + .waitFor({ state: "detached" }); + }); + await step( + "Submit synthetic handoff credentials and wait for phone confirmation", + async () => { + await page + .getByRole("button", { name: "Connect Google Messages", exact: true }) + .click(); + + const link = page.getByRole("link", { name: "Sign in with Google passkey" }); + await link.waitFor(); + const uri = new URL((await link.getAttribute("href"))!); + expect(uri.protocol).toBe("rivet-pair:"); + expect( + await page.getByRole("img", { name: "Interactive isolated Google sign-in" }).count(), + ).toBe(0); + // Synthetic credentials only. Real passkey interaction is a separate + // acceptance gate; never invoke an OS handler in a recorded fixture. + const response = await fetch(endpoint + "/setup/google/credentials", { + method: "POST", + headers: { + Authorization: `Bearer ${uri.hash.slice(1)}`, + "Content-Type": "application/json", + }, + body: JSON.stringify({ + id: uri.searchParams.get("id"), + cookies: Object.fromEntries( + ["SID", "HSID", "OSID", "SSID", "APISID", "SAPISID"].map((name) => [ + name, + "synthetic", + ]), + ), + }), + }); + expect(response.status).toBe(202); + await page.getByLabel("Pairing confirmation emoji").waitFor(); + expect(await page.getByLabel("Pairing confirmation emoji").textContent()).toBe("🦊"); + }, + ); + await step("Detect phone confirmation and verify Google authentication", async () => { + writeFileSync(join(directory, "gmessages", "confirm.synthetic"), "", { mode: 0o600 }); + await page.getByText("Authenticated", { exact: true }).waitFor(); + await page.getByText(/Google authentication checked/).waitFor(); + expect( + await page.getByRole("img", { name: "Interactive isolated Google sign-in" }).count(), + ).toBe(0); + await page.getByRole("button", { name: "Check connections", exact: true }).click(); + await page.getByText("Authenticated", { exact: true }).waitFor(); + }); + }); + }).pipe( + Effect.ensuring( + Effect.gen(function* () { + yield* client.mcp.removeServer({ params: { slug } }).pipe(Effect.ignore); + rmSync(configFile, { force: true }); + }), + ), + ); + }), +); diff --git a/packages/plugins/mcp/src/react/McpAccountsPanel.tsx b/packages/plugins/mcp/src/react/McpAccountsPanel.tsx index bb33a8a999..f0475e94c6 100644 --- a/packages/plugins/mcp/src/react/McpAccountsPanel.tsx +++ b/packages/plugins/mcp/src/react/McpAccountsPanel.tsx @@ -5,7 +5,9 @@ import * as Exit from "effect/Exit"; import { IntegrationSlug } from "@executor-js/sdk/shared"; import type { IntegrationAccountHandoff } from "@executor-js/sdk/client"; +import { HealthCheckEditor } from "@executor-js/react/components/health-check-editor"; import { AccountsSection } from "@executor-js/react/components/accounts-section"; +import { IntegrationSetupSection } from "@executor-js/react/components/integration-setup"; import type { AuthMethod, Placement } from "@executor-js/react/lib/auth-placements"; import { useCustomMethodActions, @@ -100,6 +102,7 @@ export default function McpAccountsPanel(props: { return (
+ +
); } diff --git a/packages/plugins/mcp/src/sdk/health-probe.test.ts b/packages/plugins/mcp/src/sdk/health-probe.test.ts new file mode 100644 index 0000000000..b76e5e5876 --- /dev/null +++ b/packages/plugins/mcp/src/sdk/health-probe.test.ts @@ -0,0 +1,42 @@ +import { describe, expect, it } from "@effect/vitest"; +import { classifyMcpHealthProbe } from "./health-probe"; + +describe("configured MCP health probe", () => { + it("does not confuse successful transport with an execution error", () => { + const result = classifyMcpHealthProbe({ + isError: true, + content: [{ type: "text", text: "GM_PAIRING_REQUIRED_OR_INVALID_SESSION" }], + }); + expect(result.status).toBe("degraded"); + expect(result.detail).toContain("PAIRING_REQUIRED"); + expect(result.responseSample).toBeUndefined(); + }); + it("refuses malformed responses and never persists free-form error data", () => { + expect(classifyMcpHealthProbe({}).status).toBe("degraded"); + const result = classifyMcpHealthProbe({ + isError: true, + content: [{ type: "text", text: "synthetic private account and message" }], + }); + expect(JSON.stringify(result)).not.toContain("private account"); + }); + it("uses structured output for identity and redacts sample credentials", () => { + const result = classifyMcpHealthProbe( + { + content: [], + structuredContent: { name: "synthetic", token: "secret", innocent: "secret" }, + }, + "name", + ["secret"], + ); + expect(result.status).toBe("healthy"); + expect(result.identity).toBe("synthetic"); + expect(JSON.stringify(result)).not.toContain('"value":"secret"'); + }); + it("accepts Rivet's bounded JSON output without persisting unrelated content", () => { + const result = classifyMcpHealthProbe({ + content: [{ type: "text", text: '{"authenticated":true,"scope":"point_in_time"}' }], + }); + expect(result.status).toBe("healthy"); + expect(result.responseSample).toContainEqual({ path: "authenticated", value: "true" }); + }); +}); diff --git a/packages/plugins/mcp/src/sdk/health-probe.ts b/packages/plugins/mcp/src/sdk/health-probe.ts new file mode 100644 index 0000000000..84cf760b65 --- /dev/null +++ b/packages/plugins/mcp/src/sdk/health-probe.ts @@ -0,0 +1,66 @@ +import { Option, Predicate, Schema } from "effect"; +import { + extractIdentity, + extractResponseFields, + type HealthCheckResult, +} from "@executor-js/sdk/core"; + +const Envelope = Schema.Struct({ + content: Schema.Array(Schema.Unknown), + isError: Schema.optional(Schema.Boolean), + structuredContent: Schema.optional(Schema.Unknown), +}); +const Text = Schema.Struct({ type: Schema.Literal("text"), text: Schema.String }); +const decode = Schema.decodeUnknownOption(Envelope); +const decodeText = Schema.decodeUnknownOption(Text); +const decodeJson = Schema.decodeUnknownOption(Schema.fromJsonString(Schema.Unknown)); + +/** Persist neither arbitrary tool errors nor unstructured response content. */ +export const classifyMcpHealthProbe = ( + raw: unknown, + identityField?: string, + secrets: readonly string[] = [], +): HealthCheckResult => { + const checkedAt = Date.now(); + const envelope = Option.getOrUndefined(decode(raw)); + if (!envelope) + return { + status: "degraded", + checkedAt, + reason: "probe_failed", + detail: "Malformed MCP probe response.", + }; + const scrub = (value: string) => + secrets.reduce((text, secret) => text.replaceAll(secret, "[redacted]"), value); + if (envelope.isError === true) { + // Bounded machine codes are useful; free-form errors can contain account + // data. Never persist them or response samples from failed probes. + const texts = envelope.content + .map((item) => Option.getOrUndefined(decodeText(item))?.text) + .filter(Predicate.isNotUndefined); + const code = + texts.length === 1 && /^[A-Z][A-Z0-9_]{1,79}$/.test(texts[0] ?? "") + ? scrub(texts[0]!) + : undefined; + return { + status: "degraded", + checkedAt, + reason: "probe_failed", + detail: code ? `Health probe failed: ${code}.` : "MCP health probe returned an error.", + }; + } + const text = envelope.content + .map((item) => Option.getOrUndefined(decodeText(item))) + .find((item) => item !== undefined)?.text; + const body = + envelope.structuredContent ?? + (text === undefined ? undefined : Option.getOrUndefined(decodeJson(text))); + const identity = extractIdentity(body, identityField); + return { + status: "healthy", + checkedAt, + detail: "Configured MCP probe succeeded (point-in-time check).", + ...(identity === undefined ? {} : { identity: scrub(identity) }), + responseSample: extractResponseFields(body, { scrub }), + }; +}; diff --git a/packages/plugins/mcp/src/sdk/plugin.ts b/packages/plugins/mcp/src/sdk/plugin.ts index 079b89dce5..d02a1f308e 100644 --- a/packages/plugins/mcp/src/sdk/plugin.ts +++ b/packages/plugins/mcp/src/sdk/plugin.ts @@ -7,6 +7,9 @@ import { callToolResultJsonSchema } from "./call-tool-result-schema.gen"; import { authToolFailure, + ElicitationDeclinedError, + ToolAddress, + projectResponseFields, AuthTemplateSlug, ConnectionName, definePlugin, @@ -21,6 +24,7 @@ import { type AuthMethodDescriptor, classifyHttpStatus, type HealthCheckResult, + type HealthCheckCandidate, type Integration, type IntegrationConfig, type IntegrationRecord, @@ -53,6 +57,7 @@ import { McpOAuthReauthorizationRequired, McpToolDiscoveryError, } from "./errors"; +import { classifyMcpHealthProbe } from "./health-probe"; import { invokeMcpTool, isUnknownToolMessage } from "./invoke"; import { deriveMcpNamespace, type McpToolManifestEntry } from "./manifest"; import { mcpPresets } from "./presets"; @@ -75,6 +80,12 @@ import { type McpStdioIntegrationConfig, } from "./types"; +const decodeRequiredFields = Schema.decodeUnknownOption( + Schema.Struct({ required: Schema.optional(Schema.Array(Schema.String)) }), +); +const schemaRequiredFields = (input: unknown): readonly string[] => + Option.getOrUndefined(decodeRequiredFields(input))?.required ?? []; + const MCP_PLUGIN_ID = "mcp" as const; /** Classify a failed liveness probe. The structural `httpStatus` carried on the @@ -1931,14 +1942,44 @@ export const mcpPlugin = definePlugin((options?: McpPluginOptions) => { return out; }), - // Liveness-only health check. MCP has no usable identity source (no - // id_token/userinfo, no standard whoami), so this answers "is this - // credential still alive?" by dialing the server and listing tools (the same - // path resolveTools uses); identity stays the user-supplied connection label. - // Only checkHealth is implemented (no candidates/describe/set), so the - // operation/identity editor stays hidden while the status dot + "Check now" - // light up. - checkHealth: ({ ctx, credential }) => + // Discovery enumerates candidates without invoking them. + listHealthCheckCandidates: ({ ctx, integration }) => + Effect.gen(function* () { + const connections = yield* ctx.connections.list({ integration: integration.slug }); + const candidates = new Map(); + for (const connection of connections) { + const tools = yield* ctx.connections + .refresh({ + owner: connection.owner, + integration: integration.slug, + name: connection.name, + }) + .pipe(Effect.orElseSucceed(() => [])); + for (const tool of tools) { + const stamp = readStamp(tool.annotations); + if (stamp?.upstream?.readOnlyHint !== true || stamp.upstream.destructiveHint === true) + continue; + candidates.set(stamp.toolName, { + operation: stamp.toolName, + method: "mcp", + destructive: false, + requiredArgCount: schemaRequiredFields(tool.inputSchema).length, + summary: tool.description, + parameters: schemaRequiredFields(tool.inputSchema).map((name) => ({ + name, + location: "argument", + required: true, + })), + responseFields: projectResponseFields(tool.outputSchema), + }); + } + } + return [...candidates.values()]; + }), + + // Without a spec, preserve discovery health. With one, invoke only that + // explicitly configured read-only operation and honor execution errors. + checkHealth: ({ ctx, credential, spec }) => Effect.gen(function* () { const parsed = parseMcpIntegrationConfig(credential.config); if (!parsed) { @@ -1978,9 +2019,49 @@ export const mcpPlugin = definePlugin((options?: McpPluginOptions) => { ); return yield* discoverToolsFromInput(connector).pipe( - Effect.map( - () => - ({ status: "healthy" as const, checkedAt: Date.now() }) satisfies HealthCheckResult, + Effect.flatMap(({ manifest }) => + Effect.gen(function* () { + if (!spec) + return { + status: "healthy" as const, + checkedAt: Date.now(), + detail: "MCP discovery only; no upstream session probe configured.", + } satisfies HealthCheckResult; + const tool = manifest.tools.find((tool) => tool.toolName === spec.operation); + if ( + !tool || + tool.annotations?.readOnlyHint !== true || + tool.annotations.destructiveHint === true + ) + return { + status: "degraded" as const, + checkedAt: Date.now(), + detail: + "Configured MCP health probe is unavailable or not read-only. Update the server or choose a different probe.", + reason: "probe_failed" as const, + } satisfies HealthCheckResult; + const raw = yield* invokeMcpTool({ + toolId: tool.toolId, + toolName: tool.toolName, + args: spec.args ?? {}, + transport: parsed.transport, + connector: createMcpConnector(connector), + elicit: () => + Effect.fail( + new ElicitationDeclinedError({ + address: ToolAddress.make(`health.${tool.toolId}`), + action: "decline", + }), + ), + }); + return classifyMcpHealthProbe( + raw, + spec.identityField, + Object.values(credential.values).filter( + (v): v is string => typeof v === "string" && v.length > 0, + ), + ); + }), ), Effect.catchTag("McpToolDiscoveryError", (error) => Effect.succeed({ @@ -1993,6 +2074,22 @@ export const mcpPlugin = definePlugin((options?: McpPluginOptions) => { ), ); }).pipe( + Effect.catchTag("McpInvocationError", () => + Effect.succeed({ + status: "degraded" as const, + checkedAt: Date.now(), + detail: "MCP health tool invocation failed.", + reason: "probe_failed" as const, + } satisfies HealthCheckResult), + ), + Effect.catchTag("McpOAuthReauthorizationRequired", () => + Effect.succeed({ + status: "expired" as const, + checkedAt: Date.now(), + detail: "MCP OAuth reauthorization required.", + reason: "credential_refresh_rejected" as const, + } satisfies HealthCheckResult), + ), // buildConnectorInput rejects (e.g. stdio disabled / missing config). Effect.catchTag("McpConnectionError", (error) => Effect.succeed({ diff --git a/packages/react/src/components/integration-setup.tsx b/packages/react/src/components/integration-setup.tsx new file mode 100644 index 0000000000..eba1f80cf4 --- /dev/null +++ b/packages/react/src/components/integration-setup.tsx @@ -0,0 +1,19 @@ +import { createContext, useContext, type ReactNode } from "react"; + +const IntegrationSetupContext = createContext<((integration: string) => ReactNode) | null>(null); + +/** Host-owned management UI. Plugins retain their normal accounts/credential surface. */ +export function IntegrationSetupProvider(props: { + readonly render: (integration: string) => ReactNode; + readonly children: ReactNode; +}) { + return ( + + {props.children} + + ); +} + +export function IntegrationSetupSection(props: { readonly integration: string }) { + return useContext(IntegrationSetupContext)?.(props.integration) ?? null; +} From 562edbf0776b2437dcb56d2180caa79dbe7b05e6 Mon Sep 17 00:00:00 2001 From: zak <36251971+zrm625@users.noreply.github.com> Date: Wed, 14 Oct 2026 00:23:49 -0400 Subject: [PATCH 2/5] Keep public setup guides focused on supported behavior --- apps/host-selfhost/docs/public-oidc.md | 11 +++++------ apps/host-selfhost/docs/rivet.md | 5 ++--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/apps/host-selfhost/docs/public-oidc.md b/apps/host-selfhost/docs/public-oidc.md index 4c1e199d0a..fc3db19bd8 100644 --- a/apps/host-selfhost/docs/public-oidc.md +++ b/apps/host-selfhost/docs/public-oidc.md @@ -17,9 +17,8 @@ new account is admitted. New admitted accounts receive membership under the exis SSO rules. Public PKCE does not make an arbitrary issuer account an instance owner or automatically link it to an unverified bootstrap identity. -The retained older external-OIDC candidates also proposed password-login replacement -and trusted linking of unverified local accounts. Those policy changes are excluded. -Migrate old `EXECUTOR_OIDC_*` configuration to the current SSO variables only under -separate operator authority; these source changes do not alter deployed settings. -The Okta emulator tests exercise public and confidential discovery, authorization, -callback, admission denial, and membership using synthetic accounts. +Public PKCE preserves password login and existing account-linking policy. Configure +the current SSO variables under separate operator authority; source changes do not +alter deployed settings. The Okta emulator tests exercise public and confidential +discovery, authorization, callback, admission denial, and membership using synthetic +accounts. diff --git a/apps/host-selfhost/docs/rivet.md b/apps/host-selfhost/docs/rivet.md index d3121fa638..b6cf9bb515 100644 --- a/apps/host-selfhost/docs/rivet.md +++ b/apps/host-selfhost/docs/rivet.md @@ -61,6 +61,5 @@ authority. Choose the exact owner and browser origin without changing account ro Rollback the consumer independently. Preserve the producer's current session, archive, credentials, and deduplication receipts across runtime changes. -Old fixed Pyre deployment runners are historical recovery inputs and cannot be -replayed against later state. Source checks do not authorize deployment or prove -phone pairing, real passkey login, authenticated restart, natural refresh, or restore. +Source checks do not authorize deployment or prove phone pairing, real passkey +login, authenticated restart, natural refresh, or restore. From 5af3b08f2d12134580a00d08499ae655f97eca0a Mon Sep 17 00:00:00 2001 From: zak <36251971+zrm625@users.noreply.github.com> Date: Wed, 14 Oct 2026 15:04:34 -0400 Subject: [PATCH 3/5] Repair Rivet setup and typed MCP health contracts --- apps/host-selfhost/docs/public-oidc.md | 5 +- apps/host-selfhost/docs/rivet.md | 27 +++- apps/host-selfhost/src/app.ts | 6 +- .../host-selfhost/src/auth/sso-public.test.ts | 40 ++++-- .../src/rivet-setup-config.test.ts | 32 +++++ .../src/rivet-setup-state.test.ts | 7 +- .../src/rivet-setup.node.test.ts | 126 +++++++++++++++++- apps/host-selfhost/src/rivet-setup.ts | 27 +++- apps/host-selfhost/web/rivet-setup-panel.tsx | 2 +- apps/host-selfhost/web/rivet-setup-state.ts | 17 ++- e2e/selfhost/rivet-setup-ui.test.ts | 78 +++++++---- packages/core/sdk/src/health-check.ts | 2 + .../mcp/src/sdk/health-candidates.test.ts | 70 ++++++++++ .../plugins/mcp/src/sdk/health-candidates.ts | 62 +++++++++ .../plugins/mcp/src/sdk/health-probe.test.ts | 16 +++ packages/plugins/mcp/src/sdk/health-probe.ts | 10 +- packages/plugins/mcp/src/sdk/plugin.test.ts | 85 +++++++++++- packages/plugins/mcp/src/sdk/plugin.ts | 62 +++++---- .../src/components/add-account-modal.tsx | 10 +- .../src/components/health-check-editor.tsx | 35 +++-- .../react/src/lib/health-check-args.test.ts | 22 +++ packages/react/src/lib/health-check-args.ts | 22 ++- 22 files changed, 647 insertions(+), 116 deletions(-) create mode 100644 apps/host-selfhost/src/rivet-setup-config.test.ts create mode 100644 packages/plugins/mcp/src/sdk/health-candidates.test.ts create mode 100644 packages/plugins/mcp/src/sdk/health-candidates.ts diff --git a/apps/host-selfhost/docs/public-oidc.md b/apps/host-selfhost/docs/public-oidc.md index fc3db19bd8..e43080ef70 100644 --- a/apps/host-selfhost/docs/public-oidc.md +++ b/apps/host-selfhost/docs/public-oidc.md @@ -21,4 +21,7 @@ Public PKCE preserves password login and existing account-linking policy. Config the current SSO variables under separate operator authority; source changes do not alter deployed settings. The Okta emulator tests exercise public and confidential discovery, authorization, callback, admission denial, and membership using synthetic -accounts. +accounts. New public-client tests use a private per-run hosted instance created +through `/_emulate/instances` and assert authorize/token request-ledger evidence, +including PKCE and omission of the client secret. That test requires the synthetic +hosted control plane to be reachable; a local in-process IdP is not its substitute. diff --git a/apps/host-selfhost/docs/rivet.md b/apps/host-selfhost/docs/rivet.md index b6cf9bb515..613e962496 100644 --- a/apps/host-selfhost/docs/rivet.md +++ b/apps/host-selfhost/docs/rivet.md @@ -7,7 +7,12 @@ Google sign-in opens the installed Rivet helper on a nearby computer. Set `EXECUTOR_RIVET_SETUP_CONFIG_FILE` to an absolute owner-only JSON file with `endpoint`, `tokenFile`, `ownerId`, `integration`, and `browserOrigin`. The endpoint -ends in `/setup`; it must use HTTPS except for local fixtures. Its DNS addresses +ends in `/setup` and must match the producer's `RIVET_SETUP_ENDPOINT`. +Management uses the MCP listener, normally 8779, independently of the phone's +8778 listener. Status includes both `setupEndpoint` and `phoneEndpoint`; the proxy +rejects a mismatched management endpoint before the browser can display a handoff. +Explicit HTTPS ports and private IPv6 literals are supported. It must use HTTPS +except for local fixtures. Its DNS addresses must all be private. Requests pin one address and family, retain TLS hostname validation, refuse redirects, and bound request and response sizes. @@ -15,7 +20,10 @@ The token file contains a separate 64-character hexadecimal management credentia It must belong to the service account and be private, regular, and not a symlink or hard link. Keep it separate from the phone and ordinary MCP credentials. It never reaches the browser. Only the configured existing `ownerId` may manage setup, -regardless of instance role. Browser POSTs require the exact configured origin. +regardless of instance role. If `browserOrigin` is omitted, the server uses its +resolved canonical browser URL, including platform and localhost defaults. +Upstream authorization or missing-route failures keep an owner retry UI; only +local missing configuration or owner/session denial hides setup. Browser POSTs require the exact configured origin. Unconfigured integrations hide the panel and return 404. Invalid configuration fails closed. Equivalent `EXECUTOR_RIVET_SETUP_*` server variables are supported. @@ -26,7 +34,11 @@ an old pairing failure. Authentication is point-in-time evidence. For MCP health, select an explicit read-only operation such as `texts_gm_health`. Discovery alone reports connection health and does not authenticate Google. The -plugin does not invoke candidates while listing them. Execution errors produce +plugin does not invoke candidates while listing them. Candidate operations must be compatible and read-only across every connection. +Pinned MCP arguments use JSON values, including numbers, booleans, arrays, +objects, and a literal argument named `body`. Call-time credential rejection is +expired; a scope shortfall requires broader grants rather than the same login. +Execution errors produce bounded diagnostics without persisting arbitrary error content. ## Validate with synthetic fixtures @@ -41,7 +53,10 @@ Rivet checkout, set `RIVET_SETUP_DEMO_DIR` to a new private directory under `/tm and run `tsx scripts/setup-demo.ts`. Its `ready.json` provides the loopback endpoint. Set `E2E_RIVET_SETUP_DIRECTORY`, `E2E_RIVET_SETUP_URL`, and `EXECUTOR_RIVET_SETUP_CONFIG_FILE` to that fixture's directory, URL, and a new JSON -file inside the directory. Then run from `e2e`: +file inside the directory. Trust only the new fixture certificate by starting the +Executor process with `NODE_EXTRA_CA_CERTS` set to `ready.json`'s certificate path. +The fixture uses two separate HTTPS/WSS loopback listeners and rejects a reused +fixture directory. Then run from `e2e`: ```sh ../node_modules/.bin/vitest run --project selfhost selfhost/rivet-setup-ui.test.ts @@ -50,7 +65,9 @@ file inside the directory. Then run from `e2e`: The scenario creates a fresh Executor session and synthetic phone/account state. It records QR display, phone connection, cancel/retry, single-use local handoff, emoji confirmation, and verification. It does not launch a real Google login or -read a phone. Stop the fixture before removing its disposable state. Without the +read a phone. Use a fresh fixture per run. The scenario removes its owner/config/phone-confirmation +sentinels in `Effect.ensuring`, including early failures. The controller must stop +and await its fixture process, then remove that exact disposable directory. Without the native fixture, the cross-repository scenario reports its prerequisite as a skip. ## Source delivery and rollout diff --git a/apps/host-selfhost/src/app.ts b/apps/host-selfhost/src/app.ts index 80e0212551..fee6a4cab5 100644 --- a/apps/host-selfhost/src/app.ts +++ b/apps/host-selfhost/src/app.ts @@ -16,7 +16,7 @@ import { selfHostDataMigrations } from "./db/data-migrations"; import { makeSelfHostAdminApiLayer } from "./admin/handlers"; import { makeSelfHostAdminUsersApiLayer } from "./admin/admin-users-api"; import { makeSelfHostSystemApiLayer } from "./system/handlers"; -import { makeRivetSetupHandler } from "./rivet-setup"; +import { makeRivetSetupHandler, rivetSetupConfig } from "./rivet-setup"; import { selfHostAccountMiddleware } from "./account"; import { loadConfig, SELF_HOST_NAMESPACE, SELF_HOST_SCHEMA_VERSION } from "./config"; import { createSelfHostDb, SelfHostDb, SelfHostDbProvider } from "./db/self-host-db"; @@ -130,7 +130,9 @@ export const makeSelfHostApp = async (options: MakeSelfHostAppOptions = {}) => { HttpRouter.add( "*", "/api/rivet-setup/*", - HttpEffect.fromWebHandler(makeRivetSetupHandler(betterAuth)), + HttpEffect.fromWebHandler( + makeRivetSetupHandler(betterAuth, () => rivetSetupConfig(config.webBaseUrl)), + ), ), // App-local admin (invite-code) API, served under /api/admin/*. makeSelfHostAdminApiLayer({ betterAuth, db: dbHandle, mountPrefix: "/api" }), diff --git a/apps/host-selfhost/src/auth/sso-public.test.ts b/apps/host-selfhost/src/auth/sso-public.test.ts index c69c521cda..6f080d6d43 100644 --- a/apps/host-selfhost/src/auth/sso-public.test.ts +++ b/apps/host-selfhost/src/auth/sso-public.test.ts @@ -2,10 +2,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { randomBytes } from "node:crypto"; -import { createServer } from "node:net"; import { afterAll, describe, expect, it, test } from "@effect/vitest"; -import { createEmulator } from "@executor-js/emulate"; +import { connectEmulator } from "@executor-js/emulate"; +import { Schema } from "effect"; import { mintInviteCode } from "../testing/mint-invite"; @@ -18,14 +18,21 @@ import { mintInviteCode } from "../testing/mint-invite"; const BASE = "http://localhost:4788"; const CALLBACK = `${BASE}/api/auth/oauth2/callback/okta`; -const reservation = createServer(); -await new Promise((resolve) => reservation.listen(0, "127.0.0.1", resolve)); -const address = reservation.address(); -// oxlint-disable-next-line executor/no-try-catch-or-throw, executor/no-error-constructor -- boundary: the local IdP fixture requires a real listener port -if (!address || typeof address === "string") throw new Error("Missing emulator port"); -await new Promise((resolve) => reservation.close(() => resolve())); -const idp = await createEmulator({ service: "okta", port: address.port }); -afterAll(() => idp.close()); +// Owner policy requires a private per-run hosted instance, not a released port reservation. +const created = await fetch("https://okta.emulators.dev/_emulate/instances", { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ instance: "selfhost-public-oidc" }), + signal: AbortSignal.timeout(10_000), +}); +// oxlint-disable-next-line executor/no-try-catch-or-throw, executor/no-error-constructor -- boundary: a failed synthetic hosted control-plane request must fail fixture setup +if (!created.ok) throw new Error(`Synthetic Okta instance creation failed: HTTP ${created.status}`); +const instance = Schema.decodeUnknownSync(Schema.Struct({ providerBaseUrl: Schema.String }))( + await created.json(), +); +const client = await connectEmulator({ service: "okta", baseUrl: instance.providerBaseUrl }); +const idp = { url: instance.providerBaseUrl }; +afterAll(() => client.reset()); const registration = await fetch(`${idp.url}/oauth2/v1/clients`, { method: "POST", @@ -247,6 +254,7 @@ const formFields = (form: string): Record => { // consent page (pick the account's form) -> callback back into the app. // Returns the callback response plus the cookies it set. const signInThroughIdp = async (email: string) => { + await client.ledger.clear(); const start = await handler( new Request(`${BASE}/api/auth/sign-in/oauth2`, { method: "POST", @@ -257,6 +265,8 @@ const signInThroughIdp = async (email: string) => { expect(start.status).toBe(200); const { url } = (await start.json()) as { url: string }; expect(url.startsWith(idp.url)).toBe(true); + expect(new URL(url).searchParams.get("code_challenge_method")).toBe("S256"); + expect(new URL(url).searchParams.get("code_challenge")).toBeTruthy(); const stateCookies = start.headers .getSetCookie() .map((cookie) => cookie.split(";")[0]!) @@ -279,6 +289,16 @@ const signInThroughIdp = async (email: string) => { expect(callbackUrl.startsWith(CALLBACK)).toBe(true); const callback = await handler(new Request(callbackUrl, { headers: { cookie: stateCookies } })); + const ledger = await client.ledger.list(); + expect( + ledger.some((entry) => /\/authorize$/.test(entry.path) && entry.response.status === 200), + ).toBe(true); + const token = ledger.find( + (entry) => /\/token$/.test(entry.path) && entry.response.status === 200, + ); + expect(token).toBeDefined(); + expect(JSON.stringify(token!.request.body)).toContain("code_verifier"); + expect(JSON.stringify(token!.request.body)).not.toContain("client_secret"); const cookies = callback.headers .getSetCookie() .map((cookie) => cookie.split(";")[0]!) diff --git a/apps/host-selfhost/src/rivet-setup-config.test.ts b/apps/host-selfhost/src/rivet-setup-config.test.ts new file mode 100644 index 0000000000..5c53bdfa60 --- /dev/null +++ b/apps/host-selfhost/src/rivet-setup-config.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, it } from "@effect/vitest"; +import { rivetSetupConfig } from "./rivet-setup"; +describe("resolved Rivet browser origin", () => { + it("uses resolved config when no raw browser-origin environment variable exists", () => { + const keys = [ + "EXECUTOR_RIVET_SETUP_CONFIG_FILE", + "EXECUTOR_RIVET_SETUP_ENDPOINT", + "EXECUTOR_RIVET_SETUP_TOKEN_FILE", + "EXECUTOR_RIVET_SETUP_OWNER_ID", + "EXECUTOR_WEB_BASE_URL", + ] as const; + const previous = keys.map((key) => [key, process.env[key]] as const); + // oxlint-disable-next-line executor/no-try-catch-or-throw -- boundary: restore process environment after the config assertion + try { + for (const key of keys) delete process.env[key]; + process.env.EXECUTOR_RIVET_SETUP_ENDPOINT = "https://setup.example.test:8779/setup"; + process.env.EXECUTOR_RIVET_SETUP_TOKEN_FILE = "/tmp/synthetic-rivet.token"; + process.env.EXECUTOR_RIVET_SETUP_OWNER_ID = "synthetic-owner"; + expect(rivetSetupConfig("https://canonical.example.test")).toMatchObject({ + browserOrigin: "https://canonical.example.test", + }); + expect(rivetSetupConfig("http://localhost:4788")).toMatchObject({ + browserOrigin: "http://localhost:4788", + }); + } finally { + for (const [key, value] of previous) { + if (value === undefined) delete process.env[key]; + else process.env[key] = value; + } + } + }); +}); diff --git a/apps/host-selfhost/src/rivet-setup-state.test.ts b/apps/host-selfhost/src/rivet-setup-state.test.ts index 4d8a7bbf08..e1610e8db0 100644 --- a/apps/host-selfhost/src/rivet-setup-state.test.ts +++ b/apps/host-selfhost/src/rivet-setup-state.test.ts @@ -9,7 +9,8 @@ import { const state = () => decodeSetupStatus({ phoneConnected: true, - phoneEndpoint: "wss://phone.example.test/phone", + phoneEndpoint: "wss://phone.example.test:8778/phone", + setupEndpoint: "https://setup.example.test:8779/setup", googleConfigured: true, googleSessionPresent: false, googleAuthenticated: false, @@ -18,10 +19,10 @@ const state = () => google: null, }); describe("Rivet setup state", () => { - it("local Google sign-in stays bound to the phone host and current one-time attempt", () => { + it("local Google sign-in stays bound to the separate setup listener and current one-time attempt", () => { const uri = new URL("rivet-pair://google"); const id = "00000000-0000-4000-8000-000000000001"; - uri.searchParams.set("endpoint", "https://phone.example.test/setup/google/credentials"); + uri.searchParams.set("endpoint", "https://setup.example.test:8779/setup/google/credentials"); uri.searchParams.set("id", id); uri.hash = "b".repeat(64); const local = { diff --git a/apps/host-selfhost/src/rivet-setup.node.test.ts b/apps/host-selfhost/src/rivet-setup.node.test.ts index 6de7b7834b..88ab979ff9 100644 --- a/apps/host-selfhost/src/rivet-setup.node.test.ts +++ b/apps/host-selfhost/src/rivet-setup.node.test.ts @@ -1,3 +1,8 @@ +import { createServer } from "node:https"; +import { getCACertificates, setDefaultCACertificates } from "node:tls"; +import { execFile } from "node:child_process"; +import { promisify } from "node:util"; +import { readFileSync } from "node:fs"; import { mkdtempSync, writeFileSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; @@ -9,12 +14,16 @@ process.env.BETTER_AUTH_SECRET = "synthetic-rivet-setup-secret-0123456789abcdef" process.env.EXECUTOR_BOOTSTRAP_ADMIN_EMAIL = "admin@rivet-setup.test"; process.env.EXECUTOR_BOOTSTRAP_ADMIN_PASSWORD = "synthetic-admin-password-123"; process.env.EXECUTOR_RIVET_SETUP_CONFIG_FILE = join(directory, "setup-config.json"); -const config = (ownerId: string) => +const config = ( + ownerId: string, + endpoint = "http://127.0.0.1:1/setup", + tokenFile = join(directory, "not-created.token"), +) => writeFileSync( process.env.EXECUTOR_RIVET_SETUP_CONFIG_FILE!, JSON.stringify({ - endpoint: "http://127.0.0.1:1/setup", - tokenFile: join(directory, "not-created.token"), + endpoint, + tokenFile, ownerId, integration: "synthetic-rivet", browserOrigin: "http://localhost:4788", @@ -114,3 +123,114 @@ test("The configured SSO account can own setup without an instance admin role", ).status, ).toBe(403); }); + +test("IPv6 setup transport preserves TLS, pins management identity, and keeps upstream failures retryable", async () => { + const run = promisify(execFile); + const certPath = join(directory, "fixture.crt"), + keyPath = join(directory, "fixture.key"); + await run("openssl", [ + "req", + "-x509", + "-newkey", + "rsa:2048", + "-nodes", + "-keyout", + keyPath, + "-out", + certPath, + "-days", + "1", + "-subj", + "/CN=localhost", + "-addext", + "subjectAltName=IP:::1", + ]); + const originalTrust = getCACertificates("default"); + setDefaultCACertificates([...originalTrust, readFileSync(certPath, "utf8")]); + let upstreamStatus = 200, + requests = 0; + let setupEndpoint = ""; + const upstream = createServer( + { cert: readFileSync(certPath), key: readFileSync(keyPath) }, + (req, res) => { + requests++; + expect(req.headers.authorization).toBe("Bearer " + "b".repeat(64)); + res.writeHead(upstreamStatus, { + "content-type": "application/json", + ...(upstreamStatus === 302 ? { location: "/setup/status" } : {}), + }); + res.end( + JSON.stringify({ + phoneConnected: false, + phoneEndpoint: "wss://phone.example.test:8778/phone", + setupEndpoint, + googleConfigured: true, + googleSessionPresent: false, + googleAuthenticated: false, + checkedAt: null, + error: null, + google: null, + }), + ); + }, + ); + await new Promise((resolve) => upstream.listen(0, "::1", resolve)); + const address = upstream.address(); + // oxlint-disable-next-line executor/no-try-catch-or-throw, executor/no-error-constructor -- boundary: the native TLS fixture requires an allocated port + if (!address || typeof address === "string") throw new Error("Fixture port required"); + const endpoint = `https://[::1]:${address.port}/setup`; + setupEndpoint = endpoint; + const tokenFile = join(directory, "fixture.token"); + writeFileSync(tokenFile, "b".repeat(64), { mode: 0o600 }); + // oxlint-disable-next-line executor/no-try-catch-or-throw -- boundary: always close the native TLS server and restore per-worker CA trust + try { + const signedIn = await app.handler( + new Request("http://localhost:4788/api/auth/sign-in/email", { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ + email: process.env.EXECUTOR_BOOTSTRAP_ADMIN_EMAIL, + password: process.env.EXECUTOR_BOOTSTRAP_ADMIN_PASSWORD, + }), + }), + ); + const session = (await signedIn.json()) as { user: { id: string } }; + config(session.user.id, endpoint, tokenFile); + const url = "http://localhost:4788/api/rivet-setup/synthetic-rivet/status"; + const get = () => + app.handler( + new Request(url, { + headers: { authorization: `Bearer ${signedIn.headers.get("set-auth-token")!}` }, + }), + ); + expect((await get()).status).toBe(200); + for (const status of [401, 403, 404]) { + upstreamStatus = status; + const result = await get(); + expect(result.status).toBe(502); + expect(await result.json()).toEqual({ + error: + status === 404 + ? "SETUP_UPSTREAM_ROUTE_UNAVAILABLE" + : "SETUP_UPSTREAM_AUTHORIZATION_FAILED", + }); + } + upstreamStatus = 200; + setupEndpoint = "https://[::1]:1/setup"; + const mismatch = await get(); + expect(mismatch.status).toBe(502); + expect(await mismatch.json()).toEqual({ error: "SETUP_ENDPOINT_MISMATCH" }); + setupEndpoint = endpoint; + expect((await get()).status).toBe(200); + upstreamStatus = 302; + const before = requests; + expect((await get()).status).toBe(502); + expect(requests).toBe(before + 1); + } finally { + await new Promise((resolve, reject) => + // oxlint-disable-next-line executor/no-promise-reject -- boundary: adapt Node server shutdown errors to the test lifecycle + upstream.close((error) => (error ? reject(error) : resolve())), + ); + setDefaultCACertificates(originalTrust); + } +}); diff --git a/apps/host-selfhost/src/rivet-setup.ts b/apps/host-selfhost/src/rivet-setup.ts index b3a55023df..324af4a9de 100644 --- a/apps/host-selfhost/src/rivet-setup.ts +++ b/apps/host-selfhost/src/rivet-setup.ts @@ -7,8 +7,11 @@ import { request as httpRequest } from "node:http"; import { request as httpsRequest } from "node:https"; import { Schema } from "effect"; +import { SetupStatusSchema } from "../web/rivet-setup-state"; + import type { BetterAuthHandle } from "./auth/better-auth"; +const decodeStatus = Schema.decodeUnknownSync(SetupStatusSchema); const decodeJson = Schema.decodeUnknownSync(Schema.fromJsonString(Schema.Unknown)); export interface RivetSetupConfig { @@ -19,7 +22,7 @@ export interface RivetSetupConfig { readonly browserOrigin: string; } -export function rivetSetupConfig(): RivetSetupConfig | null { +export function rivetSetupConfig(resolvedBrowserOrigin: string): RivetSetupConfig | null { let configured: Partial = {}; const path = process.env.EXECUTOR_RIVET_SETUP_CONFIG_FILE; if (path) { @@ -54,7 +57,7 @@ export function rivetSetupConfig(): RivetSetupConfig | null { const endpoint = configured.endpoint ?? process.env.EXECUTOR_RIVET_SETUP_ENDPOINT; const tokenFile = configured.tokenFile ?? process.env.EXECUTOR_RIVET_SETUP_TOKEN_FILE; const ownerId = configured.ownerId ?? process.env.EXECUTOR_RIVET_SETUP_OWNER_ID; - const origin = configured.browserOrigin ?? process.env.EXECUTOR_WEB_BASE_URL; + const origin = configured.browserOrigin ?? resolvedBrowserOrigin; if (!endpoint || !tokenFile || !ownerId || !origin) return null; const url = new URL(endpoint); if ( @@ -120,7 +123,11 @@ async function setupRequest( headers: Record, body?: string, ) { - const addresses = await lookup(url.hostname, { all: true }); + const hostname = url.hostname.replace(/^\[|\]$/g, ""); + const family = isIP(hostname); + const addresses = family + ? [{ address: hostname, family }] + : await lookup(hostname, { all: true }); if (addresses.length === 0 || addresses.some((entry) => !isPrivateSetupAddress(entry.address))) throw new Error("Private setup destination required"); const address = addresses.find((entry) => entry.family === 4) ?? addresses[0]!; @@ -132,6 +139,8 @@ async function setupRequest( headers, signal: AbortSignal.timeout(40_000), family: address.family, + hostname, + ...(url.protocol === "https:" ? { servername: isIP(hostname) ? "" : hostname } : {}), lookup: (_hostname, _options, callback) => callback(null, address.address, address.family), }, (upstream) => { @@ -188,7 +197,7 @@ const response = (status: number, body: unknown) => /** Separate owner management bridge; normal MCP credentials never enter this path. */ export function makeRivetSetupHandler( betterAuth: BetterAuthHandle, - config: () => RivetSetupConfig | null = rivetSetupConfig, + config: () => RivetSetupConfig | null, ) { return async (request: Request): Promise => { let settings: RivetSetupConfig | null; @@ -249,6 +258,16 @@ export function makeRivetSetupHandler( }, body, ); + if ([401, 403].includes(upstream.status)) + return response(502, { error: "SETUP_UPSTREAM_AUTHORIZATION_FAILED" }); + if (upstream.status === 404) + return response(502, { error: "SETUP_UPSTREAM_ROUTE_UNAVAILABLE" }); + if (request.method === "GET" && path[2] === "status" && upstream.status === 200) { + const status = decodeStatus(upstream.value); + if (new URL(status.setupEndpoint).href !== new URL(settings.endpoint).href) + return response(502, { error: "SETUP_ENDPOINT_MISMATCH" }); + return response(200, status); + } return response(upstream.status, upstream.value); } catch { return response(502, { error: "SETUP_SERVICE_UNAVAILABLE" }); diff --git a/apps/host-selfhost/web/rivet-setup-panel.tsx b/apps/host-selfhost/web/rivet-setup-panel.tsx index 233b47d4dd..4d72d17719 100644 --- a/apps/host-selfhost/web/rivet-setup-panel.tsx +++ b/apps/host-selfhost/web/rivet-setup-panel.tsx @@ -137,7 +137,7 @@ export function RivetSetupPanel(props: { readonly integration: string }) { if (!status) return error ? (
-

{error}

+

{error}

+

Set up Rivet

+
+ + Phone: {status.phoneConnected ? "Connected" : "Needs connection"} + + + Google Messages:{" "} + + {status.googleAuthenticated + ? "Authenticated" + : status.googleConfigured + ? "Needs pairing or verification" + : "Not configured"} + + +
+

{setupInstruction(status)}

+ {handoff ? ( +
+ + Sign in with Google passkey + +

+ Opens the Rivet helper in a fresh local Chrome session. Keep your phone nearby with + Bluetooth enabled. This one-time link expires in ten minutes. +

+
+ ) : null} +
+ {!status.phoneConnected && !qr ? ( + + ) : null} + {status.googleConfigured && !status.googleSessionPresent && !active ? ( + + ) : null} + {!active ? ( + + ) : null} + {active ? ( + + ) : null} + {qr ? ( + + ) : null} +
+ {qr ? ( +
+

{status.phoneEndpoint}

+ Scan this private QR in Rivet on your phone +

+ This QR contains your pairing key. Keep it private. The page detects the connection + automatically. +

+
+ ) : null} + {status.google?.state === "phone_confirmation" && status.google.emoji ? ( +
+

Confirm this emoji in Google Messages on your phone:

+

+ {status.google.emoji} +

+
+ ) : null} + {error ? ( +

+ {error} +

+ ) : null} + {status.google?.error && !status.googleSessionPresent ? ( +

+ Google pairing did not complete. Start a new attempt when ready. +

+ ) : null} + {status.checkedAt ? ( +

+ Google authentication checked {new Date(status.checkedAt).toLocaleString()}. This is a + point-in-time check. +

+ ) : null} +