part #2
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
// <copyright file="IPromptTemplateRegistry.cs" company="StellaOps">
|
||||
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
|
||||
// </copyright>
|
||||
|
||||
using StellaOps.AdvisoryAI.Attestation.Models;
|
||||
|
||||
namespace StellaOps.AdvisoryAI.Attestation;
|
||||
|
||||
/// <summary>
|
||||
/// Interface for prompt template registry.
|
||||
/// Sprint: SPRINT_20260109_011_001 Task: AIAT-004
|
||||
/// </summary>
|
||||
public interface IPromptTemplateRegistry
|
||||
{
|
||||
/// <summary>
|
||||
/// Registers a prompt template with version.
|
||||
/// </summary>
|
||||
/// <param name="name">Template name.</param>
|
||||
/// <param name="version">Template version.</param>
|
||||
/// <param name="template">Template content.</param>
|
||||
void Register(string name, string version, string template);
|
||||
|
||||
/// <summary>
|
||||
/// Gets template info including hash.
|
||||
/// </summary>
|
||||
/// <param name="name">Template name.</param>
|
||||
/// <returns>Template info or null if not found.</returns>
|
||||
PromptTemplateInfo? GetTemplateInfo(string name);
|
||||
|
||||
/// <summary>
|
||||
/// Gets template info for a specific version.
|
||||
/// </summary>
|
||||
/// <param name="name">Template name.</param>
|
||||
/// <param name="version">Template version.</param>
|
||||
/// <returns>Template info or null if not found.</returns>
|
||||
PromptTemplateInfo? GetTemplateInfo(string name, string version);
|
||||
|
||||
/// <summary>
|
||||
/// Verifies a template hash matches registered version.
|
||||
/// </summary>
|
||||
/// <param name="name">Template name.</param>
|
||||
/// <param name="expectedHash">Expected hash.</param>
|
||||
/// <returns>True if hash matches.</returns>
|
||||
bool VerifyHash(string name, string expectedHash);
|
||||
|
||||
/// <summary>
|
||||
/// Gets all registered templates.
|
||||
/// </summary>
|
||||
/// <returns>All template info records.</returns>
|
||||
IReadOnlyList<PromptTemplateInfo> GetAllTemplates();
|
||||
}
|
||||
Reference in New Issue
Block a user