Commit de referencia:
cd81803
Stack: ASP.NET Core 8 · Entity Framework Core · API Versioning · JWT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| console.log("╔════════════════════════════════════════╗"); | |
| console.log("║ DevAssistant v1.0 ║"); | |
| console.log("║ Agente de Documentación y Código ║"); | |
| console.log("╚════════════════════════════════════════╝"); | |
| console.log(""); | |
| console.log("💬 Escribe tu pregunta y presiona Enter."); | |
| console.log("💡 Tip: usa /ingest para cargar documentación"); | |
| console.log(" Comandos: /ingest [path],"); | |
| console.log(" /clear, /stats, /tools, /exit"); | |
| console.log(""); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { DevAssistantAgent } from "./agent.js"; | |
| // === Utilidades de presentación === | |
| function logSeparator(): void { | |
| console.log("\n" + "═".repeat(60) + "\n"); | |
| } | |
| function printScenarioDetails( | |
| scenarioNumber: number, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| if (this.toolCallsLastTurn + toolUseBlocks.length > MAX_TOOL_CALLS) { | |
| console.warn( | |
| `Límite de ${MAX_TOOL_CALLS} tool calls alcanzado en este turno` | |
| ); | |
| const limitMessage = | |
| `He alcanzado el límite de ${MAX_TOOL_CALLS} llamadas a herramientas por turno. ` + | |
| `Para completar esta tarea, intenta dividirla en preguntas más específicas.`; | |
| this.messages.push({ | |
| role: "assistant", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const content = `# Issue #${}: ${params.title} | |
| ## Metadata | |
| - **Fecha:** ${} | |
| - **Prioridad:** ${} | |
| - **Etiquetas:** ${} | |
| - **Estado:** abierto | |
| ## Descripción |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import * as fs from "fs/promises"; | |
| import * as path from "path"; | |
| // === Definiciones de las 2 tools nuevas === | |
| const SEARCH_DOCS_TOOL: ToolDefinition = { | |
| name: "search_docs", | |
| description: | |
| "Busca información en la documentación ingestada usando búsqueda semántica. " + | |
| "Úsala cuando el usuario pregunta sobre cómo usar una API, conceptos del sistema, " + |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export const AGENT_SYSTEM_PROMPT = `Eres DevAssistant, un agente de asistencia técnica inteligente especializado en documentación y análisis de código. Tu misión es ayudar a los desarrolladores a entender proyectos, encontrar información en docs, explorar código fuente, y registrar tareas de seguimiento. | |
| ## Tools disponibles | |
| Tienes acceso a 5 herramientas: | |
| 1. **list_files** — Explora la estructura de directorios del proyecto. Úsala para orientarte antes de leer archivos específicos. | |
| 2. **read_file** — Lee el contenido completo de un archivo. Úsala para inspeccionar código fuente, configuración o documentación local. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| async function ingestDocs(docsPath: string): Promise<void> { | |
| console.log(`\nIniciando ingestión desde: ${docsPath}`); | |
| const chunks = await processDirectory(docsPath); | |
| if (chunks.length === 0) { | |
| console.log("No se encontraron archivos .md en ese directorio."); | |
| return; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const RAG_SYSTEM_PROMPT = `Eres DevAssistant, un asistente de documentación técnica. | |
| Tu trabajo es responder preguntas basándote ÚNICAMENTE en la documentación que se te proporciona como contexto. | |
| Reglas importantes: | |
| 1. Si la información está en el contexto: responde citando la fuente (nombre del archivo y sección) | |
| 2. Si la información NO está en el contexto: di claramente "No tengo esa información en la documentación disponible" | |
| 3. Nunca inventes datos técnicos, versiones, endpoints, o configuraciones | |
| 4. Usa markdown para formatear tu respuesta (código, listas, encabezados) | |
| 5. Sé conciso y directo — los developers prefieren respuestas específicas`; |
Dependencias utilizadas para trabajar con SQLite y búsqueda vectorial en proyectos Node.js con TypeScript.
La librería más rápida y sencilla para usar SQLite3 en Node.js. A diferencia de otras alternativas, expone una API sincrónica (sin callbacks ni Promises), lo que simplifica enormemente el código y mejora el rendimiento en la mayoría de los casos de uso.
NewerOlder