Dax Raad 2 месяцев назад
Родитель
Сommit
a02223a310

+ 1 - 0
infra/enterprise.ts

@@ -8,6 +8,7 @@ const enterprise = new sst.cloudflare.x.SolidStart("Enterprise", {
   path: "packages/enterprise",
   buildCommand: "bun run build:cloudflare",
   environment: {
+    OPENCODE_BASE_URL: "/t",
     OPENCODE_STORAGE_ADAPTER: "r2",
     OPENCODE_STORAGE_ACCOUNT_ID: sst.cloudflare.DEFAULT_ACCOUNT_ID,
     OPENCODE_STORAGE_ACCESS_KEY_ID: SECRET.R2AccessKey.value,

+ 20 - 0
packages/console/app/src/routes/t/[...path].tsx

@@ -0,0 +1,20 @@
+import type { APIEvent } from "@solidjs/start/server"
+
+async function handler(evt: APIEvent) {
+  const req = evt.request.clone()
+  const url = new URL(req.url)
+  const targetUrl = `https://enterprise.opencode.ai/${url.pathname}${url.search}`
+  const response = await fetch(targetUrl, {
+    method: req.method,
+    headers: req.headers,
+    body: req.body,
+  })
+  return response
+}
+
+export const GET = handler
+export const POST = handler
+export const PUT = handler
+export const DELETE = handler
+export const OPTIONS = handler
+export const PATCH = handler

+ 8 - 1
packages/enterprise/vite.config.ts

@@ -18,7 +18,14 @@ const nitroConfig: any = (() => {
 })()
 
 export default defineConfig({
-  plugins: [tailwindcss(), solidStart() as PluginOption, nitro(nitroConfig)],
+  plugins: [
+    tailwindcss(),
+    solidStart() as PluginOption,
+    nitro({
+      ...nitroConfig,
+      baseURL: process.env.OPENCODE_BASE_URL,
+    }),
+  ],
   server: {
     host: "0.0.0.0",
     allowedHosts: true,