summaryrefslogtreecommitdiffhomepage
path: root/packages/system-prompt/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/system-prompt/src')
-rw-r--r--packages/system-prompt/src/service.ts9
-rw-r--r--packages/system-prompt/src/types.ts6
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>;
}
/**