diva-e-cypress - v1.0.3
    Preparing search index...

    RefactorAgent repariert bzw. normalisiert vom LLM generierten TypeScript-Selektoren-Code (Cypress).

    Der Agent baut dazu einen CodeFixPrompt und gibt ihn an das Modell, wobei über safeInvoke eine robuste Ausführung inkl. Logging/Fehlerbehandlung gewährleistet wird.

    Einsatzgebiet: „Auto-Fix“ nach der ersten Selector-Generierung – z. B. fehlende Klammern, Semikolons oder Markdown-Rauschen entfernen.

    const agent = new RefactorAgent(model, output);
    const fixedSelectorsTs = await agent.generate(rawSelectorsTs);
    // fixedSelectorsTs → direkt als .ts-Datei speicherbar

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    model: ChatOllama

    Vorbereitete Chat-Instanz (z. B. new ChatOllama({ model: 'llama3.2', temperature: 0 })).

    output: OutputChannel

    Output-Channel für Logs und Hinweise.

    Methods

    • Erzeugt den Code-Fix-Prompt und stößt die Reparatur an.

      Parameters

      • code: string

        TypeScript-Inhalt der (ggf. fehlerhaften) Selektoren-Datei.

      Returns Promise<string>

      Der vom Modell gelieferte, bereinigte TypeScript-Code (nur Code, keine Erklärungen).

      Nutzt intern CodeFixPrompt.getPrompt, der strikt vorgibt, nur kompilierten TS-Code ohne Zusatztext zurückzugeben.

    • Niedrigschwelliger Prompt-Handler:

      • schreibt Logeinträge (Start-Info),
      • delegiert den eigentlichen Modellaufruf an BaseAgent.safeInvoke.

      Parameters

      • prompt: string

        Vollständig formatierter Prompt-String (z. B. aus CodeFixPrompt).

      Returns Promise<string>

      Bereinigter TypeScript-Code als String.

      const prompt = new CodeFixPrompt().getPrompt(brokenTs);
      const fixed = await agent.invokeCodeRefactor(prompt);
    • Führt einen sicheren Modellaufruf mit einem einzigen HumanMessage aus und gibt die reine Textantwort zurück.

      Handhabt interne Fehler und schreibt verständliche Hinweise in den Output-Channel (z. B. ob ollama serve läuft oder das Modell gepullt ist).

      Parameters

      • prompt: string

        Vollständiger Prompt-String für das Modell.

      Returns Promise<string>

      Inhalt der Modellantwort als String (Code/Plaintext – ohne weitere Struktur). Arrays werden rekursiv zusammengeführt.

      Re-throws den Originalfehler nach Logging, damit der aufrufende Agent entscheiden kann, wie weiter verfahren wird.

      const answer = await this.safeInvoke("Return only valid TypeScript.");
      // -> "export function ... { ... }"
    • Entpackt unterschiedliche Antwortformen (String, Array, Sonstiges) zu einem einheitlichen String.

      Parameters

      • content: unknown

        Antwortinhalt aus der LLM-Nachricht (AIMessage.content).

      Returns string

      Zusammengeführter Text. Für Arrays werden die Elemente rekursiv zu Zeilen zusammengefügt; null/undefined wird als leerer String behandelt.