diff options
Diffstat (limited to 'packages/system-prompt/src')
| -rw-r--r-- | packages/system-prompt/src/service.ts | 9 | ||||
| -rw-r--r-- | packages/system-prompt/src/types.ts | 6 |
2 files changed, 15 insertions, 0 deletions
diff --git a/packages/system-prompt/src/service.ts b/packages/system-prompt/src/service.ts index 45645b9..4b4436f 100644 --- a/packages/system-prompt/src/service.ts +++ b/packages/system-prompt/src/service.ts @@ -63,5 +63,14 @@ export function createSystemPromptService(deps: SystemPromptServiceDeps): System async get(conversationId) { return deps.storage.get(resolvedKey(conversationId)); }, + + async getTemplate() { + const stored = await deps.storage.get(TEMPLATE_KEY); + return stored ?? DEFAULT_TEMPLATE; + }, + + async setTemplate(template) { + await deps.storage.set(TEMPLATE_KEY, template); + }, }; } diff --git a/packages/system-prompt/src/types.ts b/packages/system-prompt/src/types.ts index 9e87512..dd6aa69 100644 --- a/packages/system-prompt/src/types.ts +++ b/packages/system-prompt/src/types.ts @@ -29,6 +29,12 @@ export interface SystemPromptService { /** Read the persisted resolved system prompt, or `null` if never constructed. */ get(conversationId: string): Promise<string | null>; + + /** Read the global template (or `DEFAULT_TEMPLATE` when none is stored). */ + getTemplate(): Promise<string>; + + /** Set (upsert) the global template. An empty string means "no system prompt". */ + setTemplate(template: string): Promise<void>; } /** |
