Interface PromptService

interface PromptService {
    onPromptsChange: Event<void>;
    onSelectedVariantChange: Event<{
        promptVariantSetId: string;
        variantId: string;
    }>;
    addBuiltInPromptFragment(promptFragment, promptVariantSetId?, isDefault?): void;
    createBuiltInCustomization(fragmentId): Promise<void>;
    createCustomization(fragmentId): Promise<void>;
    editBuiltInCustomization(fragmentId): Promise<void>;
    editCustomization(fragmentId, customizationId): Promise<void>;
    getActivePromptFragments(): PromptFragment[];
    getAllPromptFragments(): Map<string, PromptFragment[]>;
    getBuiltInRawPrompt(fragmentId): undefined | PromptFragment;
    getCustomizationDescription(fragmentId, customizationId): Promise<undefined | string>;
    getCustomizationType(fragmentId, customizationId): Promise<undefined | string>;
    getDefaultVariantId(promptVariantSetId): undefined | string;
    getEffectiveVariantId(promptVariantSetId): Promise<undefined | string>;
    getPromptFragment(fragmentId): undefined | PromptFragment;
    getPromptVariantSets(): Map<string, string[]>;
    getRawPromptFragment(fragmentId): undefined | PromptFragment;
    getResolvedPromptFragment(fragmentId, args?, context?): Promise<undefined | ResolvedPromptFragment>;
    getResolvedPromptFragmentWithoutFunctions(fragmentId, args?, context?, resolveVariable?): Promise<undefined | Omit<ResolvedPromptFragment, "functionDescriptions">>;
    getSelectedVariantId(promptVariantSetId): Promise<undefined | string>;
    getTemplateIDFromResource(resourceId): undefined | string;
    getVariantIds(promptVariantSetId): string[];
    removeCustomization(fragmentId, customizationId): Promise<void>;
    removePromptFragment(fragmentId): void;
    resetAllToBuiltIn(): Promise<void>;
    resetToBuiltIn(fragmentId): Promise<void>;
    resetToCustomization(fragmentId, customizationId): Promise<void>;
    updateSelectedVariantId(agentId, promptVariantSetId, newVariant): Promise<void>;
}

Implemented by

Properties

onPromptsChange: Event<void>

Event fired when the prompts change

onSelectedVariantChange: Event<{
    promptVariantSetId: string;
    variantId: string;
}>

Event fired when the selected variant for a prompt variant set changes

Type declaration

  • promptVariantSetId: string
  • variantId: string

Methods

  • Adds a prompt fragment to the service

    Parameters

    • promptFragment: BasePromptFragment

      The fragment to store

    • Optional promptVariantSetId: string

      Optional ID of the prompt variant set this is a variant of

    • Optional isDefault: boolean

    Returns void

  • Gets the default variant ID of the given set

    Parameters

    • promptVariantSetId: string

      The prompt variant set id

    Returns undefined | string

    The default variant ID or undefined if no default is set

  • Gets the effective variant ID that is guaranteed to be valid if one exists. This checks if the selected variant ID is valid, and falls back to the default variant if it isn't.

    Parameters

    • promptVariantSetId: string

      The prompt variant set id

    Returns Promise<undefined | string>

    A valid variant ID if one exists, or undefined if no valid variant can be found

  • Resolves a prompt fragment by replacing variables and function references

    Parameters

    • fragmentId: string

      The prompt fragment ID

    • Optional args: {
          [key: string]: unknown;
      }

      Optional object with values for variable replacement

      • [key: string]: unknown
    • Optional context: AIVariableContext

      Optional context for variable resolution

    Returns Promise<undefined | ResolvedPromptFragment>

    The resolved prompt fragment or undefined if not found

  • Resolves a prompt fragment by replacing variables but preserving function references

    Parameters

    • fragmentId: string

      The prompt fragment ID

    • Optional args: {
          [key: string]: unknown;
      }

      Optional object with values for variable replacement

      • [key: string]: unknown
    • Optional context: AIVariableContext

      Optional context for variable resolution

    • Optional resolveVariable: ((variable) => Promise<undefined | ResolvedAIVariable>)

      Optional custom variable resolution function

    Returns Promise<undefined | Omit<ResolvedPromptFragment, "functionDescriptions">>

    The partially resolved prompt fragment or undefined if not found

  • Gets the explicitly selected variant ID for a prompt fragment from settings. This returns only the variant that was explicitly selected in settings, not the default.

    Parameters

    • promptVariantSetId: string

      The prompt variant set id

    Returns Promise<undefined | string>

    The selected variant ID from settings, or undefined if none is selected

  • Returns all IDs of all prompt fragments of the given set

    Parameters

    • promptVariantSetId: string

      The prompt variant set id

    Returns string[]

    Array of variant IDs

  • Updates the selected variant for a prompt variant set

    Parameters

    • agentId: string

      The ID of the agent to update

    • promptVariantSetId: string

      The prompt variant set ID

    • newVariant: string

      The new variant ID to set as selected

    Returns Promise<void>