Convex-only Slice 1: clients talk to Convex, Flue is a private worker (#20)

This commit is contained in:
2026-07-27 16:03:36 +00:00
parent cc47007fa9
commit cb7484912c
141 changed files with 1547 additions and 17812 deletions

View File

@@ -8,7 +8,6 @@
"./convex": "./src/convex.ts",
"./native": "./src/native.ts",
"./server": "./src/server.ts",
"./smoke": "./src/smoke.ts",
"./web": "./src/web.ts"
},
"scripts": {

View File

@@ -1,55 +0,0 @@
import { z } from "zod";
const smokeEnvSchema = z.object({
accessToken: z.string().min(1),
agentModelBaseUrl: z.url().optional(),
agentModelName: z.string().min(1).optional(),
agentModelProvider: z.string().min(1).optional(),
convexUrl: z.url(),
cpaApiKey: z.string().min(1),
cpaBaseUrl: z.url(),
daemonId: z.string().min(1),
dockerImage: z.string().min(1).optional(),
featureRequest: z.string().min(10),
flueUrl: z.url(),
giteaToken: z.string().min(1).optional(),
giteaUrl: z.url().optional(),
projectId: z.string().min(1).optional(),
repositoryPath: z.string().min(1).optional(),
webUrl: z.url(),
});
export type SmokeEnv = z.infer<typeof smokeEnvSchema>;
export const parseSmokeEnv = (
runtimeEnv: Record<string, string | undefined>
): SmokeEnv =>
smokeEnvSchema.parse({
accessToken: runtimeEnv.ZOPU_SMOKE_ACCESS_TOKEN,
agentModelBaseUrl: runtimeEnv.AGENT_MODEL_BASE_URL,
agentModelName: runtimeEnv.AGENT_MODEL_NAME,
agentModelProvider: runtimeEnv.AGENT_MODEL_PROVIDER,
convexUrl: runtimeEnv.ZOPU_SMOKE_CONVEX_URL ?? runtimeEnv.CONVEX_URL,
cpaApiKey:
runtimeEnv.ZOPU_SMOKE_CPA_API_KEY ?? runtimeEnv.AGENT_MODEL_API_KEY,
cpaBaseUrl:
runtimeEnv.ZOPU_SMOKE_CPA_BASE_URL ?? runtimeEnv.AGENT_MODEL_BASE_URL,
daemonId: runtimeEnv.ZOPU_SMOKE_DAEMON_ID ?? runtimeEnv.DAEMON_ID,
dockerImage: runtimeEnv.ORB_DOCKER_IMAGE,
featureRequest:
runtimeEnv.ZOPU_SMOKE_FEATURE_REQUEST ??
"Add a tiny accessible status control to the existing web project's primary page, keep existing behavior unchanged, and add a focused test for it.",
flueUrl:
runtimeEnv.ZOPU_SMOKE_FLUE_URL ??
runtimeEnv.VITE_FLUE_URL ??
"http://localhost:3583",
giteaToken: runtimeEnv.GITEA_TOKEN ?? runtimeEnv.ZOPU_SMOKE_GITEA_TOKEN,
giteaUrl: runtimeEnv.GITEA_URL ?? runtimeEnv.ZOPU_SMOKE_GITEA_URL,
projectId: runtimeEnv.ZOPU_SMOKE_PROJECT_ID,
repositoryPath:
runtimeEnv.ZOPU_SMOKE_REPOSITORY_PATH ?? runtimeEnv.GITEA_REPOSITORY_PATH,
webUrl:
runtimeEnv.ZOPU_SMOKE_WEB_URL ??
runtimeEnv.SITE_URL ??
"http://localhost:5173",
});

View File

@@ -1,7 +1,6 @@
interface ImportMetaEnv {
readonly [key: string]: string | number | boolean | undefined;
readonly VITE_CONVEX_SITE_URL: string;
readonly VITE_FLUE_URL: string;
readonly VITE_AUTH_URL: string;
readonly VITE_CONVEX_URL: string;
}

View File

@@ -8,10 +8,8 @@ const convexUrlSchema = (exampleHost: string) =>
export const env = createEnv({
client: {
VITE_CONVEX_SITE_URL: convexUrlSchema("example.convex.site"),
VITE_AUTH_URL: z.url(),
VITE_CONVEX_URL: convexUrlSchema("example.convex.cloud"),
VITE_FLUE_URL: z.url(),
VITE_ZOPU_SERVER_URL: z.url(),
},
clientPrefix: "VITE_",
emptyStringAsUndefined: true,