| import { VERSION } from "../../version.js"; | |
| import { resolveCliChannelOptions } from "../channel-options.js"; | |
| export type ProgramContext = { | |
| programVersion: string; | |
| channelOptions: string[]; | |
| messageChannelOptions: string; | |
| agentChannelOptions: string; | |
| }; | |
| export function createProgramContext(): ProgramContext { | |
| let cachedChannelOptions: string[] | undefined; | |
| const getChannelOptions = (): string[] => { | |
| if (cachedChannelOptions === undefined) { | |
| cachedChannelOptions = resolveCliChannelOptions(); | |
| } | |
| return cachedChannelOptions; | |
| }; | |
| return { | |
| programVersion: VERSION, | |
| get channelOptions() { | |
| return getChannelOptions(); | |
| }, | |
| get messageChannelOptions() { | |
| return getChannelOptions().join("|"); | |
| }, | |
| get agentChannelOptions() { | |
| return ["last", ...getChannelOptions()].join("|"); | |
| }, | |
| }; | |
| } | |