import type { EnvironmentId, ExecutionEnvironmentDescriptor } from "@t3tools/contracts"; export interface KnownEnvironmentConnectionTarget { readonly httpBaseUrl: string; readonly wsBaseUrl: string;} export type KnownEnvironmentSource = "configured" | "desktop-managed" | "manual" | "window-origin"; export interface KnownEnvironment { readonly id: string; readonly label: string; readonly source: KnownEnvironmentSource; readonly environmentId?: EnvironmentId; readonly target: KnownEnvironmentConnectionTarget;} export function createKnownEnvironment(input: { readonly id?: string; readonly label: string; readonly source?: KnownEnvironmentSource; readonly target: KnownEnvironmentConnectionTarget;}): KnownEnvironment { return { id: input.id ?? `ws:${input.label}`, label: input.label, source: input.source ?? "manual", target: input.target, };} export function attachEnvironmentDescriptor( environment: KnownEnvironment, descriptor: ExecutionEnvironmentDescriptor,): KnownEnvironment { return { ...environment, environmentId: descriptor.environmentId, label: descriptor.label, };}
import type { EnvironmentId, ExecutionEnvironmentDescriptor } from "@t3tools/contracts";
export interface KnownEnvironmentConnectionTarget {
readonly httpBaseUrl: string;
readonly wsBaseUrl: string;
}
export type KnownEnvironmentSource = "configured" | "desktop-managed" | "manual" | "window-origin";
export interface KnownEnvironment {
readonly id: string;
readonly label: string;
readonly source: KnownEnvironmentSource;
readonly environmentId?: EnvironmentId;
readonly target: KnownEnvironmentConnectionTarget;
}
export function createKnownEnvironment(input: {
readonly id?: string;
readonly label: string;
readonly source?: KnownEnvironmentSource;
readonly target: KnownEnvironmentConnectionTarget;
}): KnownEnvironment {
return {
id: input.id ?? `ws:${input.label}`,
label: input.label,
source: input.source ?? "manual",
target: input.target,
};
}
export function attachEnvironmentDescriptor(
environment: KnownEnvironment,
descriptor: ExecutionEnvironmentDescriptor,
): KnownEnvironment {
return {
...environment,
environmentId: descriptor.environmentId,
label: descriptor.label,
};
}