import type { string_name } from '../../../../types/string_name'; import type { Registered } from '../../../../utils/misc/$Register'; import type { LlmToolsMetadata } from '../LlmToolsMetadata'; /** * Environment variables available for provider resolution. * * @private type of `$registeredLlmToolsMessage` */ export type AvailableEnvironmentVariables = Record; /** * Mixed provider entry assembled from both provider registers. * * @private type of `$registeredLlmToolsMessage` */ export type RegisteredLlmToolEntry = Registered & Partial>; /** * Provider entry enriched with runtime availability and configuration flags. * * @private type of `$registeredLlmToolsMessage` */ export type RegisteredLlmToolStatus = RegisteredLlmToolEntry & { readonly isMetadataAvailable: boolean; readonly isInstalled: boolean; readonly isFullyConfigured: boolean; readonly isPartiallyConfigured: boolean; }; /** * Provider register snapshots used to build the summary. * * @private type of `$registeredLlmToolsMessage` */ export type RegisteredLlmToolRegisters = { readonly registeredMetadata: ReadonlyArray; readonly registeredTools: ReadonlyArray; }; /** * Message-rendering context for the registered providers summary. * * @private type of `$registeredLlmToolsMessage` */ export type RegisteredLlmToolsMessageContext = { readonly env: AvailableEnvironmentVariables; readonly llmToolStatuses: ReadonlyArray; readonly usedEnvMessage: string; readonly isRunningInNode: boolean; };