chore: auto-commit (799 archivos)

- .claude/CLAUDE.md
- .claude/commands/subagentes.md
- .claude/rules/INDEX.md
- .mcp.json
- bash/functions/cybersecurity/analyze_dns.md
- bash/functions/cybersecurity/audit_http_headers.md
- bash/functions/cybersecurity/audit_ssh_config.md
- bash/functions/cybersecurity/check_firewall.md
- bash/functions/cybersecurity/detect_suspicious_users.md
- bash/functions/cybersecurity/encrypt_file.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-14 00:28:20 +02:00
parent 20f72edb5a
commit 47fac22230
805 changed files with 5515 additions and 810 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_auth(project_id: str = '', credentials_path: str = '') -> BQClient"
description: "Autentica contra Google BigQuery con ADC o service account JSON. Retorna un BQClient listo para usar con todas las funciones CRUD."
tags: [bigquery, gcp, auth, google-cloud, python]
tags: [bigquery, gcp, auth, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_cancel_job(client: BQClient, job_id: str) -> dict"
description: "Cancela un job en ejecucion. Retorna el estado tras la cancelacion."
tags: [bigquery, gcp, job, cancel, google-cloud, python]
tags: [bigquery, gcp, job, cancel, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_copy_table(client: BQClient, source_dataset: str, source_table: str, dest_dataset: str, dest_table: str, write_disposition: str = 'WRITE_EMPTY') -> dict"
description: "Copia una tabla BigQuery a otro dataset o tabla dentro del mismo proyecto usando copy_table del SDK. Espera la finalizacion del CopyJob."
tags: [bigquery, gcp, copy, table, google-cloud, python]
tags: [bigquery, gcp, copy, table, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_create_dataset(client: BQClient, dataset_id: str, location: str = 'US', description: str = '', labels: dict[str, str] | None = None, default_table_expiration_ms: int = 0) -> dict"
description: "Crea un dataset en Google BigQuery con ubicacion, descripcion y labels. Usa client._client.create_dataset() del SDK oficial."
tags: [bigquery, gcp, dataset, create, google-cloud, python]
tags: [bigquery, gcp, dataset, create, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_create_routine(client: BQClient, dataset_id: str, routine_id: str, body: str, routine_type: str = 'SCALAR_FUNCTION', language: str = 'SQL', arguments: list[dict] | None = None, return_type: str = '', description: str = '') -> dict"
description: "Crea una routine (UDF scalar, tabla o stored procedure) en BigQuery. Soporta SQL, JavaScript y Python."
tags: [bigquery, gcp, routine, udf, create, google-cloud, python]
tags: [bigquery, gcp, routine, udf, create, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_create_table(client: BQClient, dataset_id: str, table_id: str, schema: list[dict], partitioning: dict | None = None, clustering: list[str] | None = None, description: str = '', labels: dict | None = None) -> dict"
description: "Crea una tabla en BigQuery con schema, particionamiento opcional y clustering. Usa client._client.create_table() del SDK oficial."
tags: [bigquery, gcp, table, create, google-cloud, python]
tags: [bigquery, gcp, table, create, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_delete_dataset(client: BQClient, dataset_id: str, delete_contents: bool = False) -> None"
description: "Elimina un dataset de Google BigQuery. IRREVERSIBLE. Usa client._client.delete_dataset() del SDK oficial."
tags: [bigquery, gcp, dataset, delete, google-cloud, python]
tags: [bigquery, gcp, dataset, delete, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_delete_routine(client: BQClient, dataset_id: str, routine_id: str) -> None"
description: "Elimina una routine de un dataset."
tags: [bigquery, gcp, routine, udf, delete, google-cloud, python]
tags: [bigquery, gcp, routine, udf, delete, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_delete_table(client: BQClient, dataset_id: str, table_id: str) -> None"
description: "Elimina permanentemente una tabla de BigQuery. IRREVERSIBLE. Usa client._client.delete_table() del SDK oficial."
tags: [bigquery, gcp, table, delete, google-cloud, python]
tags: [bigquery, gcp, table, delete, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_export_to_gcs(client: BQClient, dataset_id: str, table_id: str, destination_uri: str, destination_format: str = 'CSV', compression: str = 'NONE') -> dict"
description: "Exporta una tabla BigQuery a Google Cloud Storage usando extract_table del SDK. Soporta CSV, JSON, Avro y Parquet con compresion opcional."
tags: [bigquery, gcp, export, gcs, google-cloud, python, etl]
tags: [bigquery, gcp, export, gcs, google-cloud, python, etl, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_get_dataset(client: BQClient, dataset_id: str) -> dict"
description: "Obtiene los detalles completos de un dataset de Google BigQuery. Usa client._client.get_dataset() del SDK oficial."
tags: [bigquery, gcp, dataset, get, google-cloud, python]
tags: [bigquery, gcp, dataset, get, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_get_job(client: BQClient, job_id: str) -> dict"
description: "Obtiene detalles completos de un job por su ID incluyendo estado, bytes procesados y errores. Incluye campos adicionales respecto a bq_list_jobs: destination_table, query y lista de errores."
tags: [bigquery, gcp, job, get, google-cloud, python]
tags: [bigquery, gcp, job, get, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_get_table(client: BQClient, dataset_id: str, table_id: str) -> dict"
description: "Obtiene los metadatos completos de una tabla BigQuery incluyendo schema, estadisticas y configuracion. Usa client._client.get_table() del SDK oficial."
tags: [bigquery, gcp, table, get, google-cloud, python]
tags: [bigquery, gcp, table, get, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_insert_rows(client: BQClient, dataset_id: str, table_id: str, rows: list[dict]) -> dict"
description: "Inserta filas en una tabla BigQuery usando streaming insert (insert_rows_json). Retorna el conteo de filas insertadas y errores por fila."
tags: [bigquery, gcp, insert, streaming, google-cloud, python]
tags: [bigquery, gcp, insert, streaming, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_list_datasets(client: BQClient) -> list[dict]"
description: "Lista todos los datasets del proyecto de Google BigQuery. Usa client._client.list_datasets() del SDK oficial."
tags: [bigquery, gcp, dataset, list, google-cloud, python]
tags: [bigquery, gcp, dataset, list, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_list_jobs(client: BQClient, state_filter: str = '', max_results: int = 50, all_users: bool = False) -> list[dict]"
description: "Lista jobs del proyecto con filtro por estado (running, pending, done). Retorna una lista de dicts planos con metadatos de cada job."
tags: [bigquery, gcp, job, list, google-cloud, python]
tags: [bigquery, gcp, job, list, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_list_routines(client: BQClient, dataset_id: str) -> list[dict]"
description: "Lista routines de un dataset incluyendo tipo y lenguaje."
tags: [bigquery, gcp, routine, udf, list, google-cloud, python]
tags: [bigquery, gcp, routine, udf, list, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_list_tables(client: BQClient, dataset_id: str) -> list[dict]"
description: "Lista todas las tablas (y vistas) de un dataset BigQuery con informacion resumida. Usa client._client.list_tables() del SDK oficial."
tags: [bigquery, gcp, table, list, google-cloud, python]
tags: [bigquery, gcp, table, list, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_load_from_file(client: BQClient, file_path: str, dataset_id: str, table_id: str, source_format: str = 'CSV', write_disposition: str = 'WRITE_APPEND', autodetect: bool = True, skip_leading_rows: int = 0) -> dict"
description: "Carga datos desde un archivo local a una tabla BigQuery usando load_table_from_file del SDK. Equivalente a bq_load_from_gcs pero para disco local."
tags: [bigquery, gcp, load, file, google-cloud, python, etl]
tags: [bigquery, gcp, load, file, google-cloud, python, etl, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_load_from_gcs(client: BQClient, uri: str | list[str], dataset_id: str, table_id: str, source_format: str = 'CSV', write_disposition: str = 'WRITE_APPEND', autodetect: bool = True, skip_leading_rows: int = 0) -> dict"
description: "Carga datos desde uno o varios URIs de Google Cloud Storage a una tabla BigQuery configurando un LoadJob. Espera la finalizacion del job."
tags: [bigquery, gcp, load, gcs, google-cloud, python, etl]
tags: [bigquery, gcp, load, gcs, google-cloud, python, etl, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_preview_rows(client: BQClient, dataset_id: str, table_id: str, max_results: int = 10) -> dict"
description: "Obtiene una muestra de filas de una tabla BigQuery sin ejecutar query SQL, sin coste de procesamiento. Usa client._client.list_rows() del SDK oficial."
tags: [bigquery, gcp, table, preview, google-cloud, python]
tags: [bigquery, gcp, table, preview, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_query(client: BQClient, sql: str, params: list[dict] | None = None, dry_run: bool = False) -> dict"
description: "Ejecuta una query SQL en BigQuery con soporte para parametros tipados y modo dry-run para estimacion de costos."
tags: [bigquery, gcp, query, sql, google-cloud, python]
tags: [bigquery, gcp, query, sql, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_update_dataset(client: BQClient, dataset_id: str, description: str | None = None, labels: dict[str, str] | None = None, default_table_expiration_ms: int | None = None) -> dict"
description: "Actualiza campos de un dataset de Google BigQuery. Solo modifica los campos pasados explicitamente (no-None). Usa client._client.update_dataset() del SDK oficial."
tags: [bigquery, gcp, dataset, update, google-cloud, python]
tags: [bigquery, gcp, dataset, update, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def bq_update_table(client: BQClient, dataset_id: str, table_id: str, schema: list[dict] | None = None, description: str | None = None, labels: dict | None = None) -> dict"
description: "Actualiza metadatos de una tabla BigQuery: schema (solo adicion de columnas), descripcion y etiquetas. Usa client._client.update_table() del SDK oficial."
tags: [bigquery, gcp, table, update, google-cloud, python]
tags: [bigquery, gcp, table, update, google-cloud, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def all_of(xs: list, pred: callable) -> bool"
description: "Retorna True si todos los elementos de la lista cumplen el predicado."
tags: [list, functional, predicate, all, python]
tags: [list, functional, predicate, all, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def any_of(xs: list, pred: callable) -> bool"
description: "Retorna True si al menos un elemento de la lista cumple el predicado."
tags: [list, functional, predicate, any, python]
tags: [list, functional, predicate, any, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def build_guide_prompt(location: dict, pois: list[dict], interests: list[dict], user_query: str = \"\", lang: str = \"es\") -> list[dict]"
description: "Construye un prompt contextual para el LLM combinando ubicación actual, POIs cercanos rankeados e intereses del usuario. Retorna mensajes en formato OpenAI/Ollama."
tags: [prompt, llm, guide, location, pois, interests, openai, ollama, context]
tags: [prompt, llm, guide, location, pois, interests, openai, ollama, context, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def build_tree_from_headers(node_list: list[dict]) -> list[dict]"
description: "Construye arbol jerarquico anidado desde lista plana de headers markdown con niveles (h1>h2>h3)."
tags: [tree, markdown, headers, hierarchy]
tags: [tree, markdown, headers, hierarchy, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def cache_decorator(store: Any, ttl: float = 0, key_fn: callable | None = None)"
description: "Decorator que cachea el resultado de una funcion en cualquier store persistente compatible (CacheStore o FileCache). La key se genera hasheando (func.__name__, args, sorted(kwargs)) con SHA-256. Soporta funciones sincronas y asincronas."
tags: [cache, decorator, memoize, persistence, async, functional]
tags: [cache, decorator, memoize, persistence, async, functional, pendiente-usar]
uses_functions: ["cache_to_sqlite_py_infra", "cache_to_file_py_infra"]
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "calculate_media_strategy(image_count: int, line_count: int) -> str"
description: "Determina la estrategia optima de procesamiento de medios para un documento basado en la proporcion de imagenes vs texto. Retorna full_page_vlm, extract o text_only."
tags: [media, strategy, document, vision, vlm, images, classification]
tags: [media, strategy, document, vision, vlm, images, classification, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def calculate_page_offset(pairs: list[dict]) -> int"
description: "Calcula offset entre numeros de pagina logicos y fisicos usando pares de referencia (moda de diferencias)."
tags: [pagination, offset, calculation]
tags: [pagination, offset, calculation, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def call_batch_with_retry(items: list[T], process_func: Callable[[T], R], max_retries: int = 3, initial_delay: float = 1.0, max_delay: float = 30.0, backoff_factor: float = 2.0, exceptions: tuple[type[Exception], ...] = (Exception,), continue_on_failure: bool = True) -> tuple[list[R], list[dict]]"
description: "Procesa una lista de items con retry individual por item y exponential backoff. Los fallos individuales no bloquean el resto del batch. Retorna (results, failures) donde failures contiene index, item y error de cada item que agoto sus reintentos."
tags: [retry, batch, backoff, resilience, error-handling, core]
tags: [retry, batch, backoff, resilience, error-handling, core, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def chunk(xs: list, size: int) -> list"
description: "Divide una lista en sublistas de tamanio fijo. El ultimo chunk puede ser menor."
tags: [list, functional, chunk, partition, python]
tags: [list, functional, chunk, partition, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "class CircuitBreaker:\n def __init__(self, failure_threshold: int = 5, reset_timeout: float = 300.0): ...\n def check(self) -> None: ...\n def record_success(self) -> None: ...\n def record_failure(self, error: Exception) -> None: ...\n @property\n def retry_after(self) -> float: ..."
description: "Patron circuit breaker thread-safe para proteger llamadas a APIs externas. Tres estados: CLOSED (normal), OPEN (bloqueando), HALF_OPEN (permitiendo 1 request de prueba). Integra con classify_api_error para distinguir errores permanentes de transitorios."
tags: [circuit-breaker, resilience, api, retry, error-handling, thread-safe]
tags: [circuit-breaker, resilience, api, retry, error-handling, thread-safe, pendiente-usar]
uses_functions: [classify_api_error_py_core]
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def clean_pdf_text(text: str) -> str"
description: "Limpieza de artefactos PyPDF2/pdfplumber: elimina marcas de pagina (1/20), tabs, guiones de dehyphenation, saltos de linea en medio de oraciones y espacios duplicados."
tags: [pdf, text, cleaning, nlp, preprocessing, pypdf2]
tags: [pdf, text, cleaning, nlp, preprocessing, pypdf2, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def coerce_types(data: dict, schema: dict[str, str]) -> tuple[dict, list[str]]"
description: "Convierte valores de un dict a los tipos esperados segun un schema declarativo. Soporta int, float, str, bool, datetime, list[str]. Util para normalizar datos de CSV, JSON o query params. Nunca muta el original. Coerciones imposibles generan warning y mantienen el valor original."
tags: [coercion, types, normalization, pure, core, csv, json]
tags: [coercion, types, normalization, pure, core, csv, json, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def compose(*fns) -> callable"
description: "Compone funciones de derecha a izquierda. compose(f, g)(x) == f(g(x))."
tags: [functional, compose, composition, python]
tags: [functional, compose, composition, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "convert_github_to_raw_url(url: str) -> str"
description: "Convierte una URL de blob de GitHub/GitLab a su URL raw. Ej: github.com/org/repo/blob/main/file.py → raw.githubusercontent.com/org/repo/main/file.py. Retorna la URL sin cambios si no aplica."
tags: [github, gitlab, url, raw, blob, convert, transform]
tags: [github, gitlab, url, raw, blob, convert, transform, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def create_node_mapping(tree: list[dict]) -> dict[str, dict]"
description: "Crea dict plano node_id->node para lookup O(1) en un arbol jerarquico."
tags: [tree, mapping, index, lookup]
tags: [tree, mapping, index, lookup, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "csv_to_parquet_duckdb(csv_path: str | Path, parquet_path: str | Path, column_casts: dict[str, str] | None = None, overwrite: bool = False) -> bool"
description: "Convierte un CSV a Parquet usando DuckDB read_csv_auto. Si overwrite=False y el parquet ya existe no hace nada. column_casts permite sobreescribir tipos inferidos por columna. Retorna True si escribió."
tags: [csv, parquet, duckdb, etl, core]
tags: [csv, parquet, duckdb, etl, core, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def cursor_paginate(fetch_page: Callable[..., list[T]], get_cursor: Callable[[T], str | None], page_size: int = 100, max_items: int = 2000, max_retries: int = 3, retry_delay: float = 2.0, retryable_exceptions: tuple[type[Exception], ...] = (ConnectionError, TimeoutError, OSError)) -> list[T]"
description: "Paginador generico basado en cursor que funciona con cualquier API que use cursor-based pagination. Cada pagina se obtiene con retry automatico con exponential backoff. Se detiene cuando la pagina esta vacia, el batch es menor que page_size, se alcanza max_items, o el cursor del ultimo item es None."
tags: [pagination, cursor, retry, generic, api, backoff]
tags: [pagination, cursor, retry, generic, api, backoff, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "docx_to_markdown(docx_path: str) -> str"
description: "Convierte un documento Word (.docx) a markdown preservando estructura (headings), formato inline (bold, italic, underline) y tablas en su posicion original."
tags: [docx, markdown, word, conversion, document, parsing, text]
tags: [docx, markdown, word, conversion, document, parsing, text, pendiente-usar]
uses_functions: [format_table_to_markdown_py_core]
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def drop(xs: list, n: int) -> list"
description: "Descarta los primeros n elementos de una lista."
tags: [list, functional, drop, slice, python]
tags: [list, functional, drop, slice, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def epub_to_markdown(epub_path: str) -> str"
description: "Convierte un ebook EPUB a markdown. Intenta ebooklib primero para extraccion estructurada (titulo, autor, documentos); fallback a extraccion manual con zipfile si ebooklib no esta instalado."
tags: [epub, markdown, ebook, parsing, conversion, html, text-extraction]
tags: [epub, markdown, ebook, parsing, conversion, html, text-extraction, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "excel_to_markdown(path: str, max_rows_per_sheet: int = 1000) -> str"
description: "Convierte un archivo Excel (.xlsx, .xls, .xlsm) a markdown con cada sheet como seccion H2. Soporta tipos de celda: fechas ISO, booleanos, errores Excel, numeros enteros y flotantes. Trunca sheets que superen max_rows_per_sheet."
tags: [excel, markdown, xlsx, xls, conversion, parser, io]
tags: [excel, markdown, xlsx, xls, conversion, parser, io, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def extract_frontmatter(content: str) -> tuple[str, dict | None]"
description: "Extrae YAML frontmatter (delimitado por ---) del inicio de un string markdown. Retorna el contenido sin frontmatter y el dict parseado (o None si no hay)."
tags: [markdown, frontmatter, yaml, parsing]
tags: [markdown, frontmatter, yaml, parsing, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def extract_json_from_llm(content: str) -> dict"
description: "Extrae y parsea JSON de respuestas LLM. Maneja bloques ```json, trailing commas, None->null."
tags: [json, llm, parsing, extraction]
tags: [json, llm, parsing, extraction, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def extract_markdown_headers(markdown_content: str) -> tuple[list[dict], list[str]]"
description: "Extrae todos los headers (h1-h6) de markdown con nivel y numero de linea, ignorando code blocks."
tags: [markdown, parsing, headers, extraction]
tags: [markdown, parsing, headers, extraction, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def extract_pdf_text(pdf_path: str) -> str"
description: "Extrae todo el texto de un PDF concatenando todas las paginas. Usa PyPDF2."
tags: [pdf, text, extraction, parsing]
tags: [pdf, text, extraction, parsing, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "fetch_and_parse_url(url: str, timeout: float = 30.0) -> str"
description: "Descarga una pagina web y la convierte a markdown. Combina detect_url_type + fetch HTML + html_to_markdown en una sola operacion."
tags: [http, fetch, html, markdown, parse, url, scraping]
tags: [http, fetch, html, markdown, parse, url, scraping, pendiente-usar]
uses_functions:
- detect_url_type_py_core
- html_to_markdown_py_core
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def filter_list(xs: list, pred: callable) -> list"
description: "Filtra una lista aplicando un predicado sin mutar la original."
tags: [list, functional, filter, python]
tags: [list, functional, filter, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def find(xs: list, pred: callable)"
description: "Encuentra el primer elemento que cumple el predicado. Retorna None si no hay coincidencia."
tags: [list, functional, find, search, python]
tags: [list, functional, find, search, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def find_headings(content: str) -> list[tuple[int, int, str, int]]"
description: "Encuentra todos los headings markdown (# a ######), excluyendo los que estan dentro de code blocks, HTML comments y bloques indentados. Retorna lista de (start_pos, end_pos, title, level)."
tags: [markdown, headings, parsing, extraction]
tags: [markdown, headings, parsing, extraction, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def find_index(xs: list, pred: callable) -> int"
description: "Encuentra el indice del primer elemento que cumple el predicado. Retorna -1 si no hay coincidencia."
tags: [list, functional, find, index, search, python]
tags: [list, functional, find, index, search, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def flat_map(xs: list, fn: callable) -> list"
description: "Aplica una funcion que retorna listas a cada elemento y aplana el resultado un nivel."
tags: [list, functional, flatmap, python]
tags: [list, functional, flatmap, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def flatten(xss: list) -> list"
description: "Aplana una lista de listas un nivel, concatenando las sublistas."
tags: [list, functional, flatten, python]
tags: [list, functional, flatten, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def flatten_tree(structure: Any) -> list[dict]"
description: "Aplana un arbol jerarquico (dict con 'nodes') a lista plana sin hijos. Deep copy de cada nodo."
tags: [tree, flatten, hierarchy, functional]
tags: [tree, flatten, hierarchy, functional, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "format_iso8601(dt: datetime) -> str"
description: "Formatea un datetime a ISO 8601 UTC con milisegundos. Formato: yyyy-MM-ddTHH:mm:ss.SSSZ. Si naive asume UTC, si aware convierte a UTC."
tags: [datetime, iso8601, format, time, utc]
tags: [datetime, iso8601, format, time, utc, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "format_simplified(dt: datetime, now: datetime) -> str"
description: "Formato humano simplificado: si dt es del mismo dia que now muestra HH:MM:SS, si no muestra YYYY-MM-DD."
tags: [datetime, format, time, human, display]
tags: [datetime, format, time, human, display, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def format_tree_structure(structure: Any, order: list[str] = None) -> Any"
description: "Reordena campos de cada nodo de un arbol segun orden de claves especificado."
tags: [tree, format, order, structure]
tags: [tree, format, order, structure, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "from_csv(text: str, delimiter: str = ',', has_header: bool = True) -> list[dict]"
description: "Parser CSV a datos tabulares. Complemento de to_csv. Soporta campos entre comillas con escaping RFC 4180. Si has_header=False, genera keys col_0, col_1, etc."
tags: [csv, parser, import, tabular, format]
tags: [csv, parser, import, tabular, format, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "from_jsonl(text: str) -> list[dict]"
description: "Parser JSONL a lista de dicts. Ignora lineas vacias. Lanza ValueError con el numero de linea si una linea contiene JSON invalido. Complemento de to_jsonl."
tags: [jsonl, json, parser, import, streaming, format]
tags: [jsonl, json, parser, import, streaming, format, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "generate_html_report(title: str, sections: list[dict]) -> str"
description: "Genera un reporte HTML autocontenido con CSS inline. Soporta secciones de tipo table (list[dict]), text (str con markdown basico), kpi (cards con label/value/delta) y list (list[str]). Para exportar resultados de pipelines sin servidor."
tags: [html, report, export, table, kpi, template, format]
tags: [html, report, export, table, kpi, template, format, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def generate_pwa_manifest(name: str, short_name: str, description: str = \"\", start_url: str = \"/\", display: str = \"standalone\", orientation: str = \"portrait\", theme_color: str = \"#000000\", background_color: str = \"#000000\", icons: list[dict] | None = None, categories: list[str] | None = None, lang: str = \"es\") -> dict"
description: "Genera el contenido de un manifest.json para Progressive Web Apps segun el estandar W3C Web App Manifest. Retorna un dict listo para json.dumps(). Si icons es None genera placeholders estandar para 192x192 y 512x512."
tags: [pwa, manifest, web, json, frontend]
tags: [pwa, manifest, web, json, frontend, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def generate_service_worker(cache_name: str = 'app-cache-v1', precache_urls: list[str] | None = None, network_first_patterns: list[str] | None = None) -> str"
description: "Genera el codigo JavaScript de un Service Worker basico para PWAs con estrategia cache-first para assets estaticos y network-first para API calls."
tags: [pwa, service-worker, javascript, cache, offline, codegen]
tags: [pwa, service-worker, javascript, cache, offline, codegen, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def get_leaf_nodes(structure: Any) -> list[dict]"
description: "Extrae solo nodos hoja (sin hijos) de un arbol jerarquico. Deep copy de cada nodo."
tags: [tree, leaf, hierarchy, functional]
tags: [tree, leaf, hierarchy, functional, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def get_pdf_page_tokens(pdf_path, model: str = None, pdf_parser: str = 'PyPDF2') -> list[tuple[str, int]]"
description: "Extrae texto y cuenta tokens por pagina de un PDF. Soporta PyPDF2 y PyMuPDF como backends."
tags: [pdf, tokens, extraction, litellm, parsing]
tags: [pdf, tokens, extraction, litellm, parsing, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def get_text_stats(text: str) -> dict"
description: "Estadisticas basicas de un texto: total de caracteres, lineas y palabras."
tags: [text, statistics, stats, characters, words, lines]
tags: [text, statistics, stats, characters, words, lines, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def group_by(xs: list, key_fn: callable) -> dict"
description: "Agrupa elementos de una lista por una funcion clave. Retorna dict de clave a lista."
tags: [list, functional, group, classify, python]
tags: [list, functional, group, classify, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -8,7 +8,7 @@ version: "1.0.0"
purity: pure
signature: "def infer_provincia_from_cp(rows: list[dict], cp_col: str = \"codigo_postal\", prov_col: str = \"provincia\") -> list[str | None]"
description: "Infiere la provincia correcta de cada fila basandose en el CP dominante por provincia. Calcula top-2 prefijos de CP por provincia; si el CP de la fila pertenece a ese top-2 usa el real, si no usa el dominante. Stdlib puro, sin pandas."
tags: [string, normalization, spain, geography, postal-code, inference]
tags: [string, normalization, spain, geography, postal-code, inference, pendiente-usar]
uses_functions: [cp_provincia_es_py_core]
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def is_git_repo_url(url: str, known_hosts: list[str] | None = None) -> bool"
description: "Verifica si una URL apunta a un repositorio git clonable. Acepta org/repo y org/repo/tree/<ref>. Rechaza issues, blobs, PRs y otros sub-recursos."
tags: [git, url, validation, github, gitlab, repository]
tags: [git, url, validation, github, gitlab, repository, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def join_by_key(left: list[dict], right: list[dict], key: str, how: str = 'inner') -> list[dict]"
description: "Join de dos listas de dicts por una clave comun. Soporta inner, left, right y outer. Campos duplicados del right se sufijan con _right. Algoritmo O(n+m)."
tags: [tabular, join, merge, python, core]
tags: [tabular, join, merge, python, core, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def list_to_tree(data: list[dict]) -> list[dict]"
description: "Convierte lista plana con codigos de estructura ('1.2.3') a arbol jerarquico anidado."
tags: [tree, hierarchy, structure, conversion]
tags: [tree, hierarchy, structure, conversion, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "async def llm_acompletion_retry(model: str, prompt: str, max_retries: int = 10, temperature: float = 0) -> str"
description: "Completion LLM asincrono con retry automatico. Soporte multi-modelo via litellm (OpenAI, Anthropic, etc.)."
tags: [llm, completion, retry, async, litellm, api]
tags: [llm, completion, retry, async, litellm, api, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def llm_completion_retry(model: str, prompt: str, chat_history: list = None, return_finish_reason: bool = False, max_retries: int = 10, temperature: float = 0) -> str"
description: "Completion LLM sincrono con retry automatico (max 10). Soporte multi-modelo via litellm (OpenAI, Anthropic, etc.)."
tags: [llm, completion, retry, litellm, api]
tags: [llm, completion, retry, litellm, api, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def load_translations(locales_dir: str) -> dict[str, dict]"
description: "Carga todos los archivos JSON de un directorio de locales. Cada archivo {locale}.json se indexa por nombre sin extension. Retorna {} si el directorio no existe o esta vacio."
tags: [i18n, translation, locale, json, files]
tags: [i18n, translation, locale, json, files, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def map_list(xs: list, fn: callable) -> list"
description: "Aplica una funcion a cada elemento de una lista, retornando una nueva lista."
tags: [list, functional, map, python]
tags: [list, functional, map, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def match_pois_to_interests(pois: list[dict], interests: list[dict], max_results: int = 10) -> list[dict]"
description: "Filtra y rankea una lista de POIs segun un perfil de intereses del usuario. Calcula un score por categoria (0.5), nombre (0.3) y tags (0.2), multiplicado por el weight del interes. Retorna los top max_results POIs con score > 0, enriquecidos con score y matched_interests."
tags: [poi, ranking, filtering, interests, geospatial, recommendation, pure]
tags: [poi, ranking, filtering, interests, geospatial, recommendation, pure, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "next_cron_time(schedule: dict, after: datetime) -> datetime | None"
description: "Calcula la proxima ejecucion de un cron schedule despues de un tiempo dado. Avanza minuto a minuto saltando campos no coincidentes. Retorna None si no hay match en 366 dias (schedule imposible)."
tags: [cron, scheduling, time, next, pure]
tags: [cron, scheduling, time, next, pure, pendiente-usar]
uses_functions: [parse_cron_expr_py_core]
uses_types: []
returns: []
+1 -1
View File
@@ -8,7 +8,7 @@ version: "1.0.0"
purity: pure
signature: "def normalize_for_join(values: Iterable) -> list[str]"
description: "Normaliza strings para fuzzy joins: upper + strip diacriticos NFD + elimina non [A-Z0-9 ] + colapsa espacios. Trabaja con cualquier iterable. None/NaN -> cadena vacia."
tags: [string, normalization, join, fuzzy, spain]
tags: [string, normalization, join, fuzzy, spain, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def page_list_to_groups(page_contents: list[str], token_lengths: list[int], max_tokens: int = 20000, overlap_pages: int = 1) -> list[str]"
description: "Agrupa paginas en chunks de texto respetando limite de tokens con overlap configurable entre grupos."
tags: [chunking, tokens, pagination, grouping]
tags: [chunking, tokens, pagination, grouping, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def parse_code_ast(source_code: str, language: str) -> list[CodeEntity]"
description: "Extrae entidades de codigo (funciones, clases, metodos, tipos, interfaces, structs, traits) de codigo fuente usando tree-sitter. Soporta Python, JavaScript, TypeScript, Go, Rust, Java y C++. Opera sobre strings: no accede al disco."
tags: [ast, parsing, tree-sitter, code, symbol, extraction, analysis, multi-language]
tags: [ast, parsing, tree-sitter, code, symbol, extraction, analysis, multi-language, pendiente-usar]
uses_functions: []
uses_types: [code_entity_py_core]
returns: [code_entity_py_core]
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def parse_git_url(url: str, known_hosts: list[str] | None = None) -> str | None"
description: "Parsea una URL de code hosting (GitHub, GitLab, etc.) y retorna el path org/repo. Soporta HTTPS, HTTP, SSH (git@), git:// y ssh://."
tags: [git, url, parsing, github, gitlab, repository]
tags: [git, url, parsing, github, gitlab, repository, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "parse_iso_datetime(value: str) -> datetime"
description: "Parsea un datetime ISO 8601 tolerando fracciones de segundo con mas de 6 digitos. Windows produce timestamps como 2026-02-21T13:20:23.1470042+08:00 donde la fraccion excede los 6 digitos que acepta datetime.fromisoformat."
tags: [datetime, iso8601, parse, time, windows]
tags: [datetime, iso8601, parse, time, windows, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def parse_llm_json(response: str) -> dict"
description: "Parsea una respuesta LLM como JSON, limpiando primero think tags y markdown codeblocks. Combina strip_think_tags + strip_markdown_codeblock + json.loads."
tags: [llm, json, parsing, cleaning, think, codeblock]
tags: [llm, json, parsing, cleaning, think, codeblock, pendiente-usar]
uses_functions: [strip_think_tags_py_core, strip_markdown_codeblock_py_core]
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def parse_page_range(pages: str) -> list[int]"
description: "Parsea string de rangos de paginas ('5-7', '3,8', '12') a lista de enteros ordenada y sin duplicados."
tags: [parsing, range, pages, string]
tags: [parsing, range, pages, string, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "class ParserRegistry: register(name: str, parser: BaseParser) -> None; unregister(name: str) -> None; get_parser(name: str) -> BaseParser | None; get_parser_for_file(path: str) -> BaseParser | None; async parse(source: str, **kwargs) -> ParseResult; list_parsers() -> list[str]; list_supported_extensions() -> list[str]"
description: "Registry extensible que despacha parsing de archivos al parser correcto basado en extension. Patron plugin: registrar parsers por nombre y extensiones, resolver automaticamente. Mantiene estado mutable (mapa extension→parser). Singleton global disponible via get_registry()."
tags: [parser, registry, plugin, extensible, dispatch, pattern, singleton]
tags: [parser, registry, plugin, extensible, dispatch, pattern, singleton, pendiente-usar]
uses_functions: []
uses_types: [base_parser_py_core, parse_result_py_core]
returns: [parse_result_py_core]
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def partition(xs: list, pred: callable) -> tuple"
description: "Divide una lista en dos: (elementos que cumplen el predicado, elementos que no)."
tags: [list, functional, partition, split, python]
tags: [list, functional, partition, split, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def pdf_to_markdown(pdf_path: str, heading_detection: str = 'auto') -> tuple[str, dict]"
description: "Convierte un PDF a markdown. Extrae texto, tablas e inyecta headings detectados desde bookmarks o analisis de fuentes. Retorna (markdown_content, metadata_dict)."
tags: [pdf, markdown, conversion, headings, tables, pdfplumber, parsing]
tags: [pdf, markdown, conversion, headings, tables, pdfplumber, parsing, pendiente-usar]
uses_functions: [extract_pdf_bookmarks_py_core, detect_headings_by_font_py_core, format_table_to_markdown_py_core]
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def pipe(value, *fns)"
description: "Pasa un valor a traves de una secuencia de funciones de izquierda a derecha."
tags: [functional, pipe, composition, python]
tags: [functional, pipe, composition, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def react_loop(llm_chat: Callable[[list[dict]], str], tools: dict[str, Callable[..., str]], system_prompt: str, user_prompt: str, max_iterations: int = 5, on_thought: Callable[[str], None] | None = None, on_action: Callable[[str, dict], None] | None = None, on_observation: Callable[[str], None] | None = None) -> str"
description: "Implementa el patron ReACT (Reasoning + Acting) para agentes LLM. El agente razona, decide usar herramientas, observa resultados, y repite hasta producir una respuesta final."
tags: [llm, agent, react, reasoning, tools, loop]
tags: [llm, agent, react, reasoning, tools, loop, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def reduce_list(xs: list, initial, fn: callable)"
description: "Reduce una lista con un acumulador y una funcion binaria fn(acc, x)."
tags: [list, functional, reduce, fold, python]
tags: [list, functional, reduce, fold, python, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def remove_tree_fields(data: Any, fields: list[str] = None) -> Any"
description: "Elimina campos especificados recursivamente de un arbol (dict/list). Por defecto elimina 'text'."
tags: [tree, filter, fields, recursive]
tags: [tree, filter, fields, recursive, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "render_template(template: str, context: dict, missing: str = '') -> str"
description: "Motor de templates minimalista sin dependencias. Soporta {{var}}, {{{raw}}}, {{obj.field}} dot-path, {% for x in list %}...{% endfor %}, {% if cond %}...{% endif %}, {% if not cond %}...{% endif %}. HTML-escaped por defecto."
tags: [template, render, html, string, format, jinja]
tags: [template, render, html, string, format, jinja, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "async def retry_async(func: Callable[[], Awaitable[T]], max_retries: int, base_delay: float = 0.5, max_delay: float = 8.0, jitter: bool = True, is_retryable: Callable[[Exception], bool] | None = None) -> T"
description: "Version async de retry_sync. Reintenta una corrutina en errores transitorios con exponential backoff. Usa asyncio.sleep en vez de time.sleep."
tags: [retry, backoff, exponential, async, resilience, api, asyncio]
tags: [retry, backoff, exponential, async, resilience, api, asyncio, pendiente-usar]
uses_functions: [classify_api_error_py_core, compute_backoff_delay_py_core]
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def retry_sync(func: Callable[[], T], max_retries: int, base_delay: float = 0.5, max_delay: float = 8.0, jitter: bool = True, is_retryable: Callable[[Exception], bool] | None = None) -> T"
description: "Reintenta una funcion sincrona en errores transitorios con exponential backoff. Por defecto usa classify_api_error para decidir si reintentar. Hace time.sleep entre intentos."
tags: [retry, backoff, exponential, sync, resilience, api]
tags: [retry, backoff, exponential, sync, resilience, api, pendiente-usar]
uses_functions: [classify_api_error_py_core, compute_backoff_delay_py_core]
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def retry_with_backoff(max_retries: int = 3, initial_delay: float = 1.0, max_delay: float = 30.0, backoff_factor: float = 2.0, jitter: bool = True, exceptions: tuple[type[Exception], ...] = (Exception,), on_retry: Callable[[Exception, int], None] | None = None) -> Callable"
description: "Decorador que reintenta una funcion sincrona con exponential backoff cuando lanza excepciones del tipo especificado. Soporta jitter, callback on_retry y filtrado por tipo de excepcion."
tags: [retry, backoff, exponential, decorator, sync, resilience, jitter]
tags: [retry, backoff, exponential, decorator, sync, resilience, jitter, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "def retry_with_backoff_async(max_retries: int = 3, initial_delay: float = 1.0, max_delay: float = 30.0, backoff_factor: float = 2.0, jitter: bool = True, exceptions: tuple[type[Exception], ...] = (Exception,), on_retry: Callable[[Exception, int], None] | None = None) -> Callable"
description: "Decorador que reintenta una funcion async con exponential backoff cuando lanza excepciones del tipo especificado. Usa asyncio.sleep en vez de time.sleep."
tags: [retry, backoff, exponential, decorator, async, asyncio, resilience, jitter]
tags: [retry, backoff, exponential, decorator, async, asyncio, resilience, jitter, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: impure
signature: "safe_read_csv_fallback(path: str | Path) -> pd.DataFrame"
description: "Lee un CSV intentando utf-8 primero; si falla con UnicodeDecodeError reintenta con latin-1. Cubre exportaciones legacy de Excel y herramientas occidentales."
tags: [csv, encoding, pandas, io, core]
tags: [csv, encoding, pandas, io, core, pendiente-usar]
uses_functions: []
uses_types: []
returns: []
+1 -1
View File
@@ -7,7 +7,7 @@ version: "1.0.0"
purity: pure
signature: "def sanitize_for_path(text: str, max_length: int = 50) -> str"
description: "Convierte texto a nombre seguro para uso en paths. Remueve caracteres especiales, reemplaza espacios con _, trunca con hash suffix si excede max_length."
tags: [path, sanitize, string, filesystem, slug]
tags: [path, sanitize, string, filesystem, slug, pendiente-usar]
uses_functions: []
uses_types: []
returns: []

Some files were not shown because too many files have changed in this diff Show More