Documentation
¶
Index ¶
- func FindAllPromptFiles(dir string) []string
- func FindSDKGeneratedDir(logger logger.Logger, projectDir string) (string, error)
- func ProcessPrompts(logger logger.Logger, projectDir string) error
- type CodeGenerator
- type Prompt
- type PromptsYAML
- type Template
- func (t Template) OptionalVariableNames() []string
- func (t Template) OptionalVariables() []Variable
- func (t Template) RequiredVariableNames() []string
- func (t Template) RequiredVariables() []Variable
- func (t Template) VariableNames() []string
- func (t Template) VariablesWithDefaults() []Variable
- func (t Template) VariablesWithoutDefaults() []Variable
- type Variable
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindAllPromptFiles ¶ added in v0.0.171
FindAllPromptFiles finds all YAML files in the prompts directory
func FindSDKGeneratedDir ¶
FindSDKGeneratedDir finds the SDK's generated directory in node_modules
Types ¶
type CodeGenerator ¶
type CodeGenerator struct {
// contains filtered or unexported fields
}
CodeGenerator handles generating JavaScript and TypeScript code from prompts
func NewCodeGenerator ¶
func NewCodeGenerator(prompts []Prompt) *CodeGenerator
NewCodeGenerator creates a new code generator
func (*CodeGenerator) GenerateJavaScript ¶
func (cg *CodeGenerator) GenerateJavaScript() string
GenerateJavaScript generates the main JavaScript file
func (*CodeGenerator) GenerateTypeScriptTypes ¶
func (cg *CodeGenerator) GenerateTypeScriptTypes() string
GenerateTypeScriptTypes generates the TypeScript definitions file
type Prompt ¶
type Prompt struct {
Name string `yaml:"name"`
Slug string `yaml:"slug"`
Description string `yaml:"description"`
System string `yaml:"system"`
Prompt string `yaml:"prompt"`
Evals []string `yaml:"evals,omitempty"`
// Parsed template information
SystemTemplate Template `json:"system_template,omitempty"`
PromptTemplate Template `json:"prompt_template,omitempty"`
}
Prompt represents a single prompt definition from YAML
func ParsePromptsYAML ¶
ParsePromptsYAML parses YAML bytes and returns the prompt definitions
type PromptsYAML ¶
type PromptsYAML struct {
Prompts []Prompt `yaml:"prompts"`
}
PromptsYAML represents the structure of prompts.yaml for unmarshaling
type Template ¶
type Template struct {
OriginalTemplate string `json:"original_template"`
Variables []Variable `json:"variables"`
}
Template represents a parsed template with its variables
func ParseTemplate ¶
ParseTemplate parses a template string and returns structured information about all variables Supports {{variable}}, {{!required}}, {variable:default}, {!variable:default} syntax
func (Template) OptionalVariableNames ¶
OptionalVariableNames returns just the names of optional variables
func (Template) OptionalVariables ¶
OptionalVariables returns all optional variables
func (Template) RequiredVariableNames ¶
RequiredVariableNames returns just the names of required variables
func (Template) RequiredVariables ¶
RequiredVariables returns all required variables
func (Template) VariableNames ¶
VariableNames returns just the names of all variables
func (Template) VariablesWithDefaults ¶
VariablesWithDefaults returns all variables that have default values
func (Template) VariablesWithoutDefaults ¶
VariablesWithoutDefaults returns all variables that don't have default values