feat: add URL-driven workspace state and streamed Codex research

This commit is contained in:
2026-09-28 20:08:28 +09:00
parent 85d23a328b
commit 8085ad2f90
207 changed files with 15287 additions and 16026 deletions
+16 -22
View File
@@ -1,33 +1,27 @@
import {
createCsrfMiddleware,
createMiddleware,
createStart,
} from '@tanstack/react-start'
import { createCsrfMiddleware, createMiddleware, createStart } from "@tanstack/react-start";
const ownerAccess = createMiddleware().server(async ({ request, next }) => {
const { checkAccess, readAccessConfig } = await import(
'./features/access/policy.server'
)
return checkAccess(request, readAccessConfig()) ?? next()
})
const { checkAccess, readAccessConfig } = await import("./features/access/policy.server");
return checkAccess(request, readAccessConfig()) ?? next();
});
const csrf = createCsrfMiddleware({
filter: (context) => context.handlerType === 'serverFn',
})
filter: (context) => context.handlerType === "serverFn",
});
const appSession = createMiddleware().server(async ({ request, next }) => {
const { checkSessionAccess } = await import('./features/auth/gate.server')
const { setResponseHeader } = await import('@tanstack/react-start/server')
setResponseHeader('Cache-Control', 'no-store')
return checkSessionAccess(request) ?? next()
})
const { checkSessionAccess } = await import("./features/auth/gate.server");
const { setResponseHeader } = await import("@tanstack/react-start/server");
setResponseHeader("Cache-Control", "no-store");
return checkSessionAccess(request) ?? next();
});
const storage = createMiddleware().server(async ({ next }) => {
const { getDatabase } = await import('./features/storage/database.server')
getDatabase()
return next()
})
const { getDatabase } = await import("./features/storage/database.server");
getDatabase();
return next();
});
export const startInstance = createStart(() => ({
requestMiddleware: [ownerAccess, csrf, storage, appSession],
}))
}));