Documentation
¶
Overview ¶
Package store implements the prompt template storage and management logic. It provides CRUD operations for prompt bundles and templates, supports soft deletion, and background cleanup.
Index ¶
- func InitPromptTemplateStoreHandlers(api huma.API, store *PromptTemplateStore)
- type BuiltInData
- func (d *BuiltInData) Close() error
- func (d *BuiltInData) GetBuiltInBundle(ctx context.Context, id bundleitemutils.BundleID) (spec.PromptBundle, error)
- func (d *BuiltInData) GetBuiltInTemplate(ctx context.Context, bundleID bundleitemutils.BundleID, ...) (spec.PromptTemplate, error)
- func (d *BuiltInData) ListBuiltInData(ctx context.Context) (bundles map[bundleitemutils.BundleID]spec.PromptBundle, ...)
- func (d *BuiltInData) SetBundleEnabled(ctx context.Context, id bundleitemutils.BundleID, enabled bool) (bundle spec.PromptBundle, err error)
- func (d *BuiltInData) SetTemplateEnabled(ctx context.Context, bundleID bundleitemutils.BundleID, ...) (template spec.PromptTemplate, err error)
- type BuiltInDataOption
- type Option
- type PromptTemplateStore
- func (s *PromptTemplateStore) Close() error
- func (s *PromptTemplateStore) DeletePromptBundle(ctx context.Context, req *spec.DeletePromptBundleRequest) (*spec.DeletePromptBundleResponse, error)
- func (s *PromptTemplateStore) DeletePromptTemplate(ctx context.Context, req *spec.DeletePromptTemplateRequest) (*spec.DeletePromptTemplateResponse, error)
- func (s *PromptTemplateStore) GetPromptTemplate(ctx context.Context, req *spec.GetPromptTemplateRequest) (*spec.GetPromptTemplateResponse, error)
- func (s *PromptTemplateStore) ListPromptBundles(ctx context.Context, req *spec.ListPromptBundlesRequest) (*spec.ListPromptBundlesResponse, error)
- func (s *PromptTemplateStore) ListPromptTemplates(ctx context.Context, req *spec.ListPromptTemplatesRequest) (*spec.ListPromptTemplatesResponse, error)
- func (s *PromptTemplateStore) PatchPromptBundle(ctx context.Context, req *spec.PatchPromptBundleRequest) (*spec.PatchPromptBundleResponse, error)
- func (s *PromptTemplateStore) PatchPromptTemplate(ctx context.Context, req *spec.PatchPromptTemplateRequest) (*spec.PatchPromptTemplateResponse, error)
- func (s *PromptTemplateStore) PutPromptBundle(ctx context.Context, req *spec.PutPromptBundleRequest) (*spec.PutPromptBundleResponse, error)
- func (s *PromptTemplateStore) PutPromptTemplate(ctx context.Context, req *spec.PutPromptTemplateRequest) (*spec.PutPromptTemplateResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitPromptTemplateStoreHandlers ¶
func InitPromptTemplateStoreHandlers(api huma.API, store *PromptTemplateStore)
InitPromptTemplateStoreHandlers registers all endpoints for prompt bundles and templates.
Types ¶
type BuiltInData ¶
type BuiltInData struct {
// contains filtered or unexported fields
}
BuiltInData keeps the built-in prompt assets and an overlay with enable flags.
func NewBuiltInData ¶
func NewBuiltInData( ctx context.Context, overlayBaseDir string, builtInSnapshotMaxAge time.Duration, opts ...BuiltInDataOption, ) (data *BuiltInData, err error)
func (*BuiltInData) Close ¶ added in v0.0.79
func (d *BuiltInData) Close() error
func (*BuiltInData) GetBuiltInBundle ¶
func (d *BuiltInData) GetBuiltInBundle( ctx context.Context, id bundleitemutils.BundleID, ) (spec.PromptBundle, error)
func (*BuiltInData) GetBuiltInTemplate ¶
func (d *BuiltInData) GetBuiltInTemplate( ctx context.Context, bundleID bundleitemutils.BundleID, slug bundleitemutils.ItemSlug, version bundleitemutils.ItemVersion, ) (spec.PromptTemplate, error)
func (*BuiltInData) ListBuiltInData ¶
func (d *BuiltInData) ListBuiltInData(ctx context.Context) ( bundles map[bundleitemutils.BundleID]spec.PromptBundle, templates map[bundleitemutils.BundleID]map[bundleitemutils.ItemID]spec.PromptTemplate, err error, )
ListBuiltInData returns a deep copy of the cached snapshot.
func (*BuiltInData) SetBundleEnabled ¶
func (d *BuiltInData) SetBundleEnabled( ctx context.Context, id bundleitemutils.BundleID, enabled bool, ) (bundle spec.PromptBundle, err error)
SetBundleEnabled toggles a bundle flag.
func (*BuiltInData) SetTemplateEnabled ¶
func (d *BuiltInData) SetTemplateEnabled( ctx context.Context, bundleID bundleitemutils.BundleID, slug bundleitemutils.ItemSlug, version bundleitemutils.ItemVersion, enabled bool, ) (template spec.PromptTemplate, err error)
SetTemplateEnabled toggles a template flag.
type BuiltInDataOption ¶
type BuiltInDataOption func(*BuiltInData)
func WithBundlesFS ¶
func WithBundlesFS(fsys fs.FS, rootDir string) BuiltInDataOption
WithBundlesFS overrides the default embedded FS.
type Option ¶
type Option func(*PromptTemplateStore) error
Option is a functional option for PromptTemplateStore.
type PromptTemplateStore ¶
type PromptTemplateStore struct {
// contains filtered or unexported fields
}
PromptTemplateStore is the main store for prompt bundles and templates. It manages bundle and template CRUD, soft deletion, background cleanup.
func NewPromptTemplateStore ¶
func NewPromptTemplateStore(baseDir string, opts ...Option) (*PromptTemplateStore, error)
func (*PromptTemplateStore) Close ¶
func (s *PromptTemplateStore) Close() error
Close gracefully terminates the background cleanup goroutine.
func (*PromptTemplateStore) DeletePromptBundle ¶
func (s *PromptTemplateStore) DeletePromptBundle( ctx context.Context, req *spec.DeletePromptBundleRequest, ) (*spec.DeletePromptBundleResponse, error)
DeletePromptBundle soft-deletes a bundle if it is empty.
func (*PromptTemplateStore) DeletePromptTemplate ¶
func (s *PromptTemplateStore) DeletePromptTemplate( ctx context.Context, req *spec.DeletePromptTemplateRequest, ) (*spec.DeletePromptTemplateResponse, error)
DeletePromptTemplate hard-deletes a template version.
func (*PromptTemplateStore) GetPromptTemplate ¶
func (s *PromptTemplateStore) GetPromptTemplate( ctx context.Context, req *spec.GetPromptTemplateRequest, ) (*spec.GetPromptTemplateResponse, error)
GetPromptTemplate returns the exact requested template version.
func (*PromptTemplateStore) ListPromptBundles ¶
func (s *PromptTemplateStore) ListPromptBundles( ctx context.Context, req *spec.ListPromptBundlesRequest, ) (*spec.ListPromptBundlesResponse, error)
ListPromptBundles lists prompt bundles with optional filtering and pagination. If PageToken is provided its embedded parameters override the request body.
func (*PromptTemplateStore) ListPromptTemplates ¶
func (s *PromptTemplateStore) ListPromptTemplates( ctx context.Context, req *spec.ListPromptTemplatesRequest, ) (*spec.ListPromptTemplatesResponse, error)
ListPromptTemplates streams every stored version. Server-side filters are bundle-IDs, tags and include disabled.
func (*PromptTemplateStore) PatchPromptBundle ¶
func (s *PromptTemplateStore) PatchPromptBundle( ctx context.Context, req *spec.PatchPromptBundleRequest, ) (*spec.PatchPromptBundleResponse, error)
PatchPromptBundle toggles the enabled flag of a bundle.
func (*PromptTemplateStore) PatchPromptTemplate ¶
func (s *PromptTemplateStore) PatchPromptTemplate( ctx context.Context, req *spec.PatchPromptTemplateRequest, ) (*spec.PatchPromptTemplateResponse, error)
PatchPromptTemplate enables or disables a template version.
func (*PromptTemplateStore) PutPromptBundle ¶
func (s *PromptTemplateStore) PutPromptBundle( ctx context.Context, req *spec.PutPromptBundleRequest, ) (*spec.PutPromptBundleResponse, error)
PutPromptBundle creates or replaces a prompt bundle.
func (*PromptTemplateStore) PutPromptTemplate ¶
func (s *PromptTemplateStore) PutPromptTemplate( ctx context.Context, req *spec.PutPromptTemplateRequest, ) (*spec.PutPromptTemplateResponse, error)
PutPromptTemplate creates a new prompt template version. Returns an error if the (slug, version) already exists.