1import { createHubEnvironmentCapabilitiesAtom } from "@t3tools/client-runtime/state/hub";
2import { hubConnection } from "../connection/hub";
3import { createServerEnvironmentAtoms } from "@t3tools/client-runtime/state/server";
4import { createEnvironmentServerConfigsAtom } from "@t3tools/client-runtime/state/shell";
5
6import { environmentCatalog } from "../connection/catalog";
7import { connectionAtomRuntime } from "../connection/runtime";
8import { environmentSession } from "./session";
9import { createThreadListEnvironmentsAtom } from "./thread-list-environments";
10
11export const serverEnvironment = createServerEnvironmentAtoms(connectionAtomRuntime, {
12 initialConfigValueAtom: environmentSession.initialConfigValueAtom,
13 usageLimitSources: true,
14 usageLimitsCommand: true,
15});
16export const environmentServerConfigsAtom = createEnvironmentServerConfigsAtom({
17 catalogValueAtom: environmentCatalog.catalogValueAtom,
18 serverConfigValueAtom: serverEnvironment.configValueAtom,
19});
20export const environmentCapabilitiesAtom = createHubEnvironmentCapabilitiesAtom(
21 environmentServerConfigsAtom,
22 hubConnection,
23);
24
25export const threadListEnvironmentsAtom = createThreadListEnvironmentsAtom(
26 environmentServerConfigsAtom,
27 environmentCapabilitiesAtom,
28);