Help us shape the future of Go! Take the 2026 Go Developer Survey

headless

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2026 License: EUPL-1.2 Imports: 13 Imported by: 0

Documentation

Overview

Package headless exécute un tour d'agent sans interface interactive : toute demande de permission est refusée, la sortie est du texte ou du JSON.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Banner(l i18n.Lang, p llm.ProviderInfo) string

Banner renvoie la bannière de transparence dans la langue l : « tenon · <modèle> · <nom fournisseur> · <pays> · juridiction <UE|hors UE|locale> ». Un nom ou un pays vide est omis.

func Clean

func Clean(s string) string

Clean retire de s les séquences d'échappement ANSI, les caractères de contrôle autres que le saut de ligne et les caractères de format (bidirectionnels, largeur nulle) ; tabulations, retours chariot et séparateurs Unicode deviennent des espaces. Le texte vient d'un serveur MCP, non fiable. Les lignes sont conservées : un masquage ancré en fin de ligne s'applique ensuite.

func JurisdictionLabel

func JurisdictionLabel(l i18n.Lang, j llm.Jurisdiction) string

JurisdictionLabel renvoie le libellé traduit de la juridiction j.

func MCPBanner

func MCPBanner(l i18n.Lang, servers []event.MCPServerInfo) string

MCPBanner renvoie la ligne « MCP : id (juridiction), … » des serveurs MCP actifs, ou "" s'il n'y en a aucun.

func OneLine

func OneLine(s string) string

OneLine nettoie s (Clean) et le met sur une ligne.

func ProviderLabel

func ProviderLabel(p llm.ProviderInfo) string

ProviderLabel renvoie le nom du fournisseur, à défaut son identifiant.

func Run

func Run(ctx context.Context, eng *engine.Engine, sessionID string, in engine.Input, opts Options, stdout, stderr io.Writer) int

Run soumet in à eng dans la session sessionID et renvoie le code de sortie : 3 si une action a été refusée (permission, politique) ou le tour bloqué, 1 si SubmitInput échoue ou si le tour n'a pas pu tourner (contexte trop volumineux), sinon 0.

func ServerDownNotice

func ServerDownNotice(l i18n.Lang, p event.McpServerDownPayload, redact func(string) string) string

ServerDownNotice renvoie l'avis d'un serveur MCP indisponible. Chaque partie est nettoyée puis masquée seule, lignes conservées (une règle ancrée en fin de ligne y reconnaît un secret), avant d'être mise sur une ligne.

Types

type Options

type Options struct {
	Output Output
	// Lang est la langue des messages affichés (vide : français).
	Lang i18n.Lang
	// Redact masque une charge utile JSON avant affichage (sortie json).
	// nil : aucun masquage.
	Redact func(string) string
	// RedactText masque le texte libre : réponse finale (sortie texte) et
	// messages écrits sur stderr. nil : Redact est utilisé.
	RedactText func(string) string
	// Strict : un tour terminé par max_iterations, incomplete,
	// stopped_by_hook ou cancelled donne le code 4 (3 et 1 l'emportent).
	Strict bool
	// Local est le fournisseur local du routage ("" : celui de
	// SessionStarted, ou aucun).
	Local string
}

Options configure Run.

type Output

type Output string

Output choisit le format de sortie.

const (
	Text Output = "text"
	JSON Output = "json"
)

type Routing added in v0.7.0

type Routing struct {
	// Local est le fournisseur local ("" : inconnu ou absent).
	Local string
	// Current est le dernier fournisseur retenu.
	Current string
	// Sensitive est vrai après SessionClassified.
	Sensitive bool
}

Routing suit le routage d'une session pour l'affichage : fournisseur local, fournisseur effectif et état sensible. Partagé avec la TUI.

func (*Routing) Classified added in v0.7.0

func (r *Routing) Classified(l i18n.Lang, p event.SessionClassifiedPayload) string

Classified intègre SessionClassified et renvoie son avis.

func (*Routing) Selected added in v0.7.0

Selected intègre ProviderSelected et renvoie l'avis d'une bascule ("" pour un autre motif).

func (*Routing) Started added in v0.7.0

func (r *Routing) Started(p event.SessionStartedPayload)

Started intègre SessionStarted : fournisseur courant, et fournisseur local. Avec routing, son local effectif fait foi, même vide (indisponible) ; sans, le courant s'il est local, si aucun local n'est déjà connu.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL