- Backend: ConnectionManager, Redis-backed bus with in-process fallback, channel authorization, and typed emit helpers wired into workers (ai_runtime, sandbox_gateway), workforce/sandbox/billing/audit/error services. - Frontend: single shared WS client with backoff + heartbeat, RealtimeProvider, useLiveChannel/useLiveEvent hooks, live indicators on task detail, manager chat, dashboard, traces, sandbox terminal, admin errors, and billing. - Contracts: WsEvent/WsServerFrame/WsClientFrame types mirroring the port. All 255 backend tests pass; web typecheck and build pass.
23 lines
802 B
TypeScript
23 lines
802 B
TypeScript
import type { Metadata } from "next";
|
|
import "./globals.css";
|
|
import { RealtimeProvider } from "@/lib/realtime";
|
|
import { SessionProvider } from "@/lib/session";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Smart Organization — پلتفرم نیروی کار هوش مصنوعی",
|
|
description: "سازمان بسازید، کارمند هوش مصنوعی استخدام کنید و کارها را بسپارید.",
|
|
};
|
|
|
|
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<html lang="fa" dir="rtl" className="dark">
|
|
<body>
|
|
<SessionProvider>
|
|
{/* One socket for the whole app: every live feed rides on it. */}
|
|
<RealtimeProvider>{children}</RealtimeProvider>
|
|
</SessionProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|