Capture keyed prompts and source-backed content at load time
This commit is contained in:
15
internal/prompt/template.go
Normal file
15
internal/prompt/template.go
Normal file
@@ -0,0 +1,15 @@
|
||||
package prompt
|
||||
|
||||
import "text/template"
|
||||
|
||||
// CompileTemplate checks static syntax with the same grammar and function
|
||||
// names as rendering, without evaluating request inputs or variables.
|
||||
func CompileTemplate(name, raw string) (*template.Template, error) {
|
||||
return parseTemplate(name, raw, template.FuncMap{
|
||||
"input": func(string) (string, error) { return "", nil },
|
||||
})
|
||||
}
|
||||
|
||||
func parseTemplate(name, raw string, funcs template.FuncMap) (*template.Template, error) {
|
||||
return template.New(name).Funcs(funcs).Option("missingkey=error").Parse(raw)
|
||||
}
|
||||
Reference in New Issue
Block a user