@promptbook/google
Version:
Promptbook: Turn your company's scattered knowledge into AI ready books
31 lines (30 loc) • 1.55 kB
TypeScript
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
*/