# Funciones a implementar desde MiroFish

Fuente: `sources/MiroFish` (ByteDance)
Licencia: **AGPL-3.0** (NO permisiva)
Reimplementar desde cero. No copiar codigo.

MiroFish es un motor de inteligencia de enjambre para simulaciones predictivas:
knowledge graphs desde documentos, simulacion multi-agente en redes sociales, reportes analiticos.

## Funciones

| # | Archivo | Dominio | Funciones |
|---|---------|---------|-----------|
| 01 | mf_text_chunker.md | core | split_text_into_chunks (sentence-boundary aware, con overlap) |
| 02 | mf_preprocess_text.md | core | preprocess_text, get_text_stats |
| 03 | mf_to_pascal_case.md | core | to_pascal_case |
| 04 | mf_llm_client.md | core | strip_think_tags, strip_markdown_codeblock, chat_json_clean |
| 05 | mf_setup_logger.md | infra | setup_logger (file rotation + console + UTF-8) |
| 06 | mf_retry_decorator.md | core | retry_with_backoff (decorator), retry_with_backoff_async |
| 07 | mf_cursor_paginator.md | core | cursor_paginate (generic cursor-based pagination with retry) |
| 08 | mf_locale.md | core | t (i18n translate with dot-path keys + interpolation) |
| 09 | mf_extract_text.md | core | extract_text_from_file (PDF/MD/TXT con encoding detection) |
| 10 | mf_react_agent.md | core | react_loop (patron ReACT: Thought → Action → Observation) |
| 11 | mf_batch_retry.md | core | call_batch_with_retry (batch operations con retry individual) |

## Tipos

| # | Archivo | Dominio | Tipos |
|---|---------|---------|-------|
| 12 | mf_type_task.md | core | TaskStatus (sum), Task (product), TaskManager (singleton thread-safe) |
| 13 | mf_type_agent_action.md | core | AgentAction (product), RoundSummary (product), RunnerStatus (sum) |
| 14 | mf_type_entity_node.md | core | EntityNode (product), FilteredEntities (product) |
