import { assert, it } from "@effect/vitest";import * as ConfigProvider from "effect/ConfigProvider";import * as Effect from "effect/Effect";import * as Result from "effect/Result"; import { hostedAppUrlConfig, makeCloudCliOAuthConfig, makeRelayUrlConfig, resolveRelayClientTracingConfig,} from "./publicConfig.ts"; const provideEnv = (env: Readonly<Record<string, string>>) => Effect.provide(ConfigProvider.layer(ConfigProvider.fromEnv({ env }))); it.effect("uses the statically injected relay URL when no runtime override exists", () => Effect.gen(function* () { const relayUrl = yield* makeRelayUrlConfig("https://embedded.example.test///").pipe( provideEnv({}), ); assert.equal(relayUrl, "https://embedded.example.test"); }),); it.effect("prefers a runtime relay URL override over the statically injected value", () => Effect.gen(function* () { const relayUrl = yield* makeRelayUrlConfig("https://embedded.example.test").pipe( provideEnv({ T3CODE_RELAY_URL: "https://runtime.example.test///" }), ); assert.equal(relayUrl, "https://runtime.example.test"); }),); it.effect("requires a relay URL when the server bundle has no injected value", () => makeRelayUrlConfig("").pipe(provideEnv({}), Effect.flip),); it.effect("rejects an insecure runtime relay URL override", () => makeRelayUrlConfig("https://embedded.example.test").pipe( provideEnv({ T3CODE_RELAY_URL: "http://runtime.example.test" }), Effect.flip, ),); it.effect("rejects an injected relay URL with a non-origin path", () => makeRelayUrlConfig("https://embedded.example.test/path").pipe(provideEnv({}), Effect.flip),); it.effect("normalizes the hosted app URL to an absolute origin", () => Effect.gen(function* () { assert.equal( yield* hostedAppUrlConfig.pipe( provideEnv({ T3CODE_HOSTED_APP_URL: "https://nightly.app.t3.codes" }), ), "https://nightly.app.t3.codes", ); assert.equal( yield* hostedAppUrlConfig.pipe( provideEnv({ T3CODE_HOSTED_APP_URL: "http://localhost:5733" }), ), "http://localhost:5733", ); }),); it.effect("rejects malformed or insecure hosted app URLs", () => Effect.gen(function* () { for (const value of [ "app.t3.codes", "http://app.t3.codes", "https://app.t3.codes/nested", "https://app.t3.codes?alias=true", ]) { const result = yield* hostedAppUrlConfig.pipe( provideEnv({ T3CODE_HOSTED_APP_URL: value }), Effect.result, ); assert.isTrue(Result.isFailure(result), value); } }),); it.effect("derives direct Clerk OAuth endpoints from statically injected public config", () => Effect.gen(function* () { const config = yield* makeCloudCliOAuthConfig({ clerkPublishableKeyFallback: "pk_test_Y2xlcmsuZXhhbXBsZS50ZXN0JA==", clerkCliOAuthClientIdFallback: "oauth_client_embedded", }).pipe(provideEnv({})); assert.deepEqual(config, { tokenEndpoint: "https://clerk.example.test/oauth/token", clientId: "oauth_client_embedded", loopbackPort: 34338, redirectUri: "http://127.0.0.1:34338/callback", scopes: ["openid", "profile", "email"], }); }),); it.effect("prefers runtime Clerk OAuth config overrides over statically injected values", () => Effect.gen(function* () { const config = yield* makeCloudCliOAuthConfig({ clerkPublishableKeyFallback: "pk_test_ZW1iZWRkZWQuZXhhbXBsZS50ZXN0JA==", clerkCliOAuthClientIdFallback: "oauth_client_embedded", }).pipe( provideEnv({ T3CODE_CLERK_PUBLISHABLE_KEY: "pk_test_cnVudGltZS5leGFtcGxlLnRlc3Qk", T3CODE_CLERK_CLI_OAUTH_CLIENT_ID: "oauth_client_runtime", }), ); assert.equal(config.tokenEndpoint, "https://runtime.example.test/oauth/token"); assert.equal(config.clientId, "oauth_client_runtime"); }),); it.effect("requires Clerk OAuth config when the server bundle has no injected values", () => makeCloudCliOAuthConfig({ clerkPublishableKeyFallback: "", clerkCliOAuthClientIdFallback: "", }).pipe(provideEnv({}), Effect.flip),); it.effect("reports malformed Clerk publishable keys as typed configuration failures", () => Effect.gen(function* () { const result = yield* makeCloudCliOAuthConfig({ clerkPublishableKeyFallback: "pk_test_not-base64!!", clerkCliOAuthClientIdFallback: "oauth_client_embedded", }).pipe(provideEnv({}), Effect.result); assert.isTrue(Result.isFailure(result)); if (Result.isFailure(result)) { assert.equal(result.failure.cause._tag, "SourceError"); if (result.failure.cause._tag === "SourceError") { assert.equal( result.failure.cause.message, "Failed to derive Clerk Frontend API URL from the publishable key.", ); assert.instanceOf(result.failure.cause.cause, Error); } } }),); it("resolves relay client tracing from runtime config with build-time fallback", () => { const fallback = { tracesUrl: "https://embedded.example.test/v1/traces", tracesDataset: "embedded-dataset", tracesToken: "embedded-token", }; assert.deepEqual(resolveRelayClientTracingConfig({}, fallback), fallback); assert.deepEqual( resolveRelayClientTracingConfig( { T3CODE_RELAY_CLIENT_OTLP_TRACES_URL: "https://runtime.example.test/v1/traces", T3CODE_RELAY_CLIENT_OTLP_TRACES_DATASET: "runtime-dataset", T3CODE_RELAY_CLIENT_OTLP_TRACES_TOKEN: "runtime-token", }, fallback, ), { tracesUrl: "https://runtime.example.test/v1/traces", tracesDataset: "runtime-dataset", tracesToken: "runtime-token", }, ); assert.equal( resolveRelayClientTracingConfig( { T3CODE_RELAY_CLIENT_OTLP_TRACES_URL: "http://insecure.example.test/v1/traces", T3CODE_RELAY_CLIENT_OTLP_TRACES_DATASET: "runtime-dataset", T3CODE_RELAY_CLIENT_OTLP_TRACES_TOKEN: "runtime-token", }, fallback, ), null, );});
import { assert, it } from "@effect/vitest";
import * as ConfigProvider from "effect/ConfigProvider";
import * as Effect from "effect/Effect";
import * as Result from "effect/Result";
import {
hostedAppUrlConfig,
makeCloudCliOAuthConfig,
makeRelayUrlConfig,
resolveRelayClientTracingConfig,
} from "./publicConfig.ts";
const provideEnv = (env: Readonly<Record<string, string>>) =>
Effect.provide(ConfigProvider.layer(ConfigProvider.fromEnv({ env })));
it.effect("uses the statically injected relay URL when no runtime override exists", () =>
Effect.gen(function* () {
const relayUrl = yield* makeRelayUrlConfig("https://embedded.example.test///").pipe(
provideEnv({}),
);
assert.equal(relayUrl, "https://embedded.example.test");
}),
);
it.effect("prefers a runtime relay URL override over the statically injected value", () =>
Effect.gen(function* () {
const relayUrl = yield* makeRelayUrlConfig("https://embedded.example.test").pipe(
provideEnv({ T3CODE_RELAY_URL: "https://runtime.example.test///" }),
);
assert.equal(relayUrl, "https://runtime.example.test");
}),
);
it.effect("requires a relay URL when the server bundle has no injected value", () =>
makeRelayUrlConfig("").pipe(provideEnv({}), Effect.flip),
);
it.effect("rejects an insecure runtime relay URL override", () =>
makeRelayUrlConfig("https://embedded.example.test").pipe(
provideEnv({ T3CODE_RELAY_URL: "http://runtime.example.test" }),
Effect.flip,
),
);
it.effect("rejects an injected relay URL with a non-origin path", () =>
makeRelayUrlConfig("https://embedded.example.test/path").pipe(provideEnv({}), Effect.flip),
);
it.effect("normalizes the hosted app URL to an absolute origin", () =>
Effect.gen(function* () {
assert.equal(
yield* hostedAppUrlConfig.pipe(
provideEnv({ T3CODE_HOSTED_APP_URL: "https://nightly.app.t3.codes" }),
),
"https://nightly.app.t3.codes",
);
assert.equal(
yield* hostedAppUrlConfig.pipe(
provideEnv({ T3CODE_HOSTED_APP_URL: "http://localhost:5733" }),
),
"http://localhost:5733",
);
}),
);
it.effect("rejects malformed or insecure hosted app URLs", () =>
Effect.gen(function* () {
for (const value of [
"app.t3.codes",
"http://app.t3.codes",
"https://app.t3.codes/nested",
"https://app.t3.codes?alias=true",
]) {
const result = yield* hostedAppUrlConfig.pipe(
provideEnv({ T3CODE_HOSTED_APP_URL: value }),
Effect.result,
);
assert.isTrue(Result.isFailure(result), value);
}
}),
);
it.effect("derives direct Clerk OAuth endpoints from statically injected public config", () =>
Effect.gen(function* () {
const config = yield* makeCloudCliOAuthConfig({
clerkPublishableKeyFallback: "pk_test_Y2xlcmsuZXhhbXBsZS50ZXN0JA==",
clerkCliOAuthClientIdFallback: "oauth_client_embedded",
}).pipe(provideEnv({}));
assert.deepEqual(config, {
tokenEndpoint: "https://clerk.example.test/oauth/token",
clientId: "oauth_client_embedded",
loopbackPort: 34338,
redirectUri: "http://127.0.0.1:34338/callback",
scopes: ["openid", "profile", "email"],
});
}),
);
it.effect("prefers runtime Clerk OAuth config overrides over statically injected values", () =>
Effect.gen(function* () {
const config = yield* makeCloudCliOAuthConfig({
clerkPublishableKeyFallback: "pk_test_ZW1iZWRkZWQuZXhhbXBsZS50ZXN0JA==",
clerkCliOAuthClientIdFallback: "oauth_client_embedded",
}).pipe(
provideEnv({
T3CODE_CLERK_PUBLISHABLE_KEY: "pk_test_cnVudGltZS5leGFtcGxlLnRlc3Qk",
T3CODE_CLERK_CLI_OAUTH_CLIENT_ID: "oauth_client_runtime",
}),
);
assert.equal(config.tokenEndpoint, "https://runtime.example.test/oauth/token");
assert.equal(config.clientId, "oauth_client_runtime");
}),
);
it.effect("requires Clerk OAuth config when the server bundle has no injected values", () =>
makeCloudCliOAuthConfig({
clerkPublishableKeyFallback: "",
clerkCliOAuthClientIdFallback: "",
}).pipe(provideEnv({}), Effect.flip),
);
it.effect("reports malformed Clerk publishable keys as typed configuration failures", () =>
Effect.gen(function* () {
const result = yield* makeCloudCliOAuthConfig({
clerkPublishableKeyFallback: "pk_test_not-base64!!",
clerkCliOAuthClientIdFallback: "oauth_client_embedded",
}).pipe(provideEnv({}), Effect.result);
assert.isTrue(Result.isFailure(result));
if (Result.isFailure(result)) {
assert.equal(result.failure.cause._tag, "SourceError");
if (result.failure.cause._tag === "SourceError") {
assert.equal(
result.failure.cause.message,
"Failed to derive Clerk Frontend API URL from the publishable key.",
);
assert.instanceOf(result.failure.cause.cause, Error);
}
}
}),
);
it("resolves relay client tracing from runtime config with build-time fallback", () => {
const fallback = {
tracesUrl: "https://embedded.example.test/v1/traces",
tracesDataset: "embedded-dataset",
tracesToken: "embedded-token",
};
assert.deepEqual(resolveRelayClientTracingConfig({}, fallback), fallback);
assert.deepEqual(
resolveRelayClientTracingConfig(
{
T3CODE_RELAY_CLIENT_OTLP_TRACES_URL: "https://runtime.example.test/v1/traces",
T3CODE_RELAY_CLIENT_OTLP_TRACES_DATASET: "runtime-dataset",
T3CODE_RELAY_CLIENT_OTLP_TRACES_TOKEN: "runtime-token",
},
fallback,
),
{
tracesUrl: "https://runtime.example.test/v1/traces",
tracesDataset: "runtime-dataset",
tracesToken: "runtime-token",
},
);
assert.equal(
resolveRelayClientTracingConfig(
{
T3CODE_RELAY_CLIENT_OTLP_TRACES_URL: "http://insecure.example.test/v1/traces",
T3CODE_RELAY_CLIENT_OTLP_TRACES_DATASET: "runtime-dataset",
T3CODE_RELAY_CLIENT_OTLP_TRACES_TOKEN: "runtime-token",
},
fallback,
),
null,
);
});