UNPKG

@promptbook/google

Version:

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

50 lines (49 loc) 2.32 kB
import type { PipelineInterface } from '../../pipeline/PipelineInterface/PipelineInterface'; import type { string_markdown_text } from '../../types/typeAliases'; import type { string_name } from '../../types/typeAliases'; import type { string_promptbook_documentation_url } from '../../types/typeAliases'; import type { string_SCREAMING_CASE } from '../../utils/normalization/normalizeTo_SCREAMING_CASE'; /** * AbstractFormfactorDefinition provides the base structure for all form factor implementations * in the Promptbook system. It defines common properties and interfaces that must be * implemented by specific form factors. * * Note: [🚉] This is fully serializable as JSON * @see https://github.com/webgptorg/promptbook/discussions/172 */ export type AbstractFormfactorDefinition = { /** * Unique identifier for the form factor in SCREAMING_CASE format * Used for programmatic identification and reference */ readonly name: string_name & string_SCREAMING_CASE; /** * Alternative names that can be used to reference this form factor * Also in SCREAMING_CASE format for consistency */ readonly aliasNames?: ReadonlyArray<string_name & string_SCREAMING_CASE>; /** * Previous names that were used for this form factor but are now deprecated * These are maintained for backward compatibility purposes */ readonly deprecatedNames?: ReadonlyArray<string_name & string_SCREAMING_CASE>; /** * Human-readable description of the form factor in markdown format * Explains the purpose, functionality, and use cases of this form factor */ readonly description: string_markdown_text; /** * URL pointing to detailed documentation for this form factor * Provides additional resources and guidance for implementation and usage */ readonly documentationUrl: string_promptbook_documentation_url; /** * Defines the interface structure for this form factor's pipeline * Specifies how inputs and outputs are handled, processed, and formatted * Required for properly configuring and executing the form factor's functionality */ readonly pipelineInterface: PipelineInterface; }; /** * TODO: [🧠][🤓] How to pass optional parameters - for example summary in FORMFACTOR Translator */