Aller au contenu
English

NativeConversationStore

import type { NativeConversationStore } from "@elie-laloum/outpost";
  • formatRequis
    string
    Nom de format persisté dans les enregistrements de conversation, les clés de transport et les bundles de session. Le garder stable une fois des conversations capturées.
  • directoryRequis
    (repository: string, home?: string) => string
    Dossier de l’hôte qui contient les conversations capturées de ce format pour un dépôt, sous home s’il est fourni.
  • destinationRequis
    (id: string, sandbox: SandboxLease, original: string) => string
    Chemin dans la sandbox écrit par la restauration de la conversation id, d’après son fichier capturé sur l’hôte.
  • nameRequis
    string
    Nom du store, par exemple claude ou transport:<namespace>:<format>. Outpost l’associe à l’identifiant de conversation pour ne pas restaurer une conversation déjà présente dans la sandbox.
  • locateRequis
    (id: string, repository: string, home?: string) => Promise<ConversationRecord>
    Retrouve une conversation capturée sur l’hôte à partir de son identifiant, du dépôt et d’un home optionnel, avant sa restauration. Échoue quand la conversation est absente.
  • captureRequis
    (id: string, context: ConversationContext) => Promise<ConversationRecord>
    Enregistre la conversation id depuis la sandbox du contexte vers l’hôte après un tour et renvoie son enregistrement.
  • restoreRequis
    (record: ConversationRecord, context: ConversationContext) => Promise<void>
    Écrit un enregistrement localisé dans la sandbox du contexte avant un tour de continuation, en relocalisant les chemins enregistrés vers le workspace de la sandbox.
export interface NativeConversationStore extends ConversationStore {
  /** Persisted format name, used in transport keys, bundles and records. */
  readonly format: string;
  /** Host directory that holds this format's captured conversations. */
  directory(repository: string, home?: string): string;
  /** Sandbox path that restoration writes for a captured conversation. */
  destination(id: string, sandbox: SandboxLease, original: string): string;
}