Polish chat UI and wire flue agent env

- Add chat components (header, composer, conversation, message, thinking response, identity)
- Add chat hooks (use-chat-agent, use-chat-composer)
- Add chat lib (constants, transforms, types)
- Wire agent model config through env (provider, name, api, base url, key, context window, max tokens)
- Refresh web styling and routes
This commit is contained in:
-Puter
2026-07-19 19:33:41 +05:30
parent 8cd479f20c
commit 5347db578d
24 changed files with 1336 additions and 93 deletions

View File

@@ -7,6 +7,7 @@
"build": "bun --env-file=../../.env flue build",
"check-types": "tsc --noEmit",
"dev": "bun --env-file=../../.env flue dev",
"dev:tailscale": "bun --env-file=../../.env flue dev",
"run": "bun --env-file=../../.env flue run",
"run:zopu": "bun --env-file=../../.env flue run zopu"
},

View File

@@ -1,5 +1,8 @@
import { parseAgentEnv } from "@code/env/agent";
import { defineAgent } from "@flue/runtime";
import type { AgentRouteHandler } from "@flue/runtime";
export const route: AgentRouteHandler = (_context, next) => next();
export default defineAgent(({ env }) => {
const { AGENT_MODEL_NAME, AGENT_MODEL_PROVIDER } = parseAgentEnv(env);

View File

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

View File

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