UNPKG

@promptbook/google

Version:

Promptbook: Turn your company's scattered knowledge into AI ready books

31 lines (30 loc) 1.55 kB
import type { string_title } from '../../../types/typeAliases'; import type { Registered } from '../../../utils/misc/$Register'; import type { LlmToolsOptions } from './LlmToolsOptions'; /** * Configuration definition for LLM execution tools, containing provider-specific settings * that can be passed during runtime to instantiate and configure LLM tools properly. * * The Promptbook LLM tools architecture involves several related types: * - `LlmToolsMetadata`: Contains static metadata about the tool, such as name, version, and capabilities * - `LlmToolsConfiguration`: Runtime configuration from environment variables or settings * - `LlmToolsOptions`: Provider-specific options for instantiating tools * - `Registered`: The record of a registered tool in the global registry */ export type LlmToolsConfiguration = ReadonlyArray<Registered & { /** * Human-readable name for this specific provider configuration * Used in UI components and logs for identifying this particular configuration */ readonly title: string_title; /** * Provider-specific configuration options used for instantiating and configuring LLM tools * Contains values like API keys, model preferences, endpoint URLs, and other settings */ readonly options: LlmToolsOptions; }>; /** * TODO: [🧠][🌰] `title` is redundant BUT maybe allow each provider pass it's own title for tracking purposes * TODO: Maybe instead of `LlmToolsConfiguration[number]` make `LlmToolsConfigurationItem` * TODO: [®] DRY Register logic */