LLM JSON Text Extractor (texto/extrair-json-do-texto.ts)

DeskcommCRM · lib/agent-engine/texto/extrair-json-do-texto.ts · typescript · MIT
ai, dev-tools, lang:typescript

Robustly extracts the first valid JSON object from unstructured LLM responses. Use this to clean model output that contains prose, code blocks, or duplicate JSON fragments.

// Source: https://github.com/melgarafael/DeskcommCRM | License: MIT | Copyright 2026 Rafael Melgaço
// Provided via justclaw.it.com; keep this notice with the code.
/**
 * Extrai o PRIMEIRO objeto JSON válido do texto do modelo (ou o texto inteiro,
 * quando ele todo já é JSON).
 *
 * POR QUE EXISTE: os classificadores auxiliares do agente pedem JSON no
 * PROMT ("responda SOMENTE JSON: {...}") — não há `response_format` no seam
 * (`runModelCall`). Modelos roteados por OpenRouter produzem as mesmas saídas
 * com três formas que os parsers antigos (slice `indexOf('{')` →
 * `lastIndexOf('}')`) quebravam:
 *
 *   1. Cerca de código  — ```json\n{...}\n```  (prosa em volta);
 *   2. Repetição        — `{...} {a segunda cópia...}` (o modelo ecoa o JSON
 *                         mais de uma v

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key