Aller au contenu
English

Harness

import type { Harness } from "@elie-laloum/outpost";
  • routingOptionnel
    HarnessModelRouting | undefined
    Configuration validée de routage par étape conservée par le harness intégré.
  • kindRequis
    "custom"
    Discriminant d’exécution : custom.
  • modelProviderRequis
    ModelProvider
    Fournisseur de modèles appelé à chaque étape et pour chaque résumé.
  • instructionsRequis
    readonly HarnessInstructions[]
    Sources d’instructions résolues au début de chaque tour, suivies du catalogue des skills quand des skills sont définies.
  • toolsRequis
    readonly HarnessTool<unknown>[]
    Liste aplatie des outils envoyée au modèle : outils déclarés, puis outils des skills et load_skill. Les outils MCP s’ajoutent au début de chaque tour.
  • limitsRequis
    ResolvedHarnessLimits
    Limites normalisées ; maxSteps vaut 100 par défaut.
  • toolExecutionRequis
    Required<HarnessToolExecution>
    Réglages d’exécution des outils, défauts appliqués : concurrency 4, deadlineMs 300000, onError return-to-model.
  • hooksRequis
    readonly HarnessHook<HarnessHookPhase>[]
    Hooks figés du harness.
  • permissionsOptionnel
    HarnessPermissions | undefined
    Règles de permission évaluées avant les hooks before-tool, si elles sont définies.
  • contextOptionnel
    HarnessContextStrategy | undefined
    Stratégie de contexte du harness, si elle est définie.
  • conversationsOptionnel
    false | ConversationStore | undefined
    Store de conversations configuré, ou false si l’enregistrement est désactivé ; absent signifie le store par défaut.
  • skillsRequis
    readonly HarnessSkill[]
    Skills du harness ; leurs outils et load_skill font partie de la liste d’outils.
  • cacheRequis
    boolean
    Indique si chaque requête demande au fournisseur de mettre en cache le préfixe de la conversation.
  • mcpServersOptionnel
    McpServers | undefined
    Serveurs MCP validés, démarrés à chaque tour, lorsqu’ils sont définis.
export interface Harness {
  readonly routing?: HarnessModelRouting;
  readonly kind: "custom";
  readonly modelProvider: ModelProvider;
  readonly instructions: readonly HarnessInstructions[];
  readonly tools: readonly HarnessTool[];
  readonly limits: ResolvedHarnessLimits;
  readonly toolExecution: Required<HarnessToolExecution>;
  readonly hooks: readonly HarnessHook[];
  readonly permissions?: HarnessPermissions;
  readonly context?: HarnessContextStrategy;
  readonly conversations?: ConversationStore | false;
  readonly skills: readonly HarnessSkill[];
  readonly cache: boolean;
  readonly mcpServers?: McpServers;
}