From 8581d3959acdfddbe72206e71031a85e6242a936 Mon Sep 17 00:00:00 2001 From: Egutierrez Date: Sat, 28 Mar 2026 23:23:00 +0100 Subject: [PATCH] =?UTF-8?q?refactor:=20mover=20.go=20de=20tipos=20Go=20a?= =?UTF-8?q?=20functions/{domain}/=20para=20compilaci=C3=B3n=20unificada?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Los archivos .go de tipos ahora viven junto a las funciones en functions/{domain}/ (mismo paquete Go), resolviendo errores de compilación por tipos no encontrados (Option, Pair, Result, etc.). Los .md de metadata permanecen en types/{domain}/ con file_path actualizado a functions/. Se elimina types.go duplicado de infra. Co-Authored-By: Claude Opus 4.6 (1M context) --- {types => functions}/core/error.go | 0 {types => functions}/core/option.go | 0 {types => functions}/core/pair.go | 0 {types => functions}/core/result.go | 0 {types => functions}/core/result_test.go | 0 .../cybersecurity/cidr_block.go | 0 .../cybersecurity/port_result.go | 0 .../cybersecurity/threat_result.go | 0 .../datascience/outlier_result.go | 0 .../finance/bollinger_result.go | 0 .../finance/drawdown_result.go | 0 {types => functions}/finance/ohlcv.go | 0 {types => functions}/finance/tick.go | 0 {types => functions}/infra/container_info.go | 0 {types => functions}/infra/image_info.go | 0 {types => functions}/infra/metabase_client.go | 0 functions/infra/types.go | 28 ------------------- {types => functions}/shell/cmd_result.go | 0 {types => functions}/tui/base_model.go | 0 {types => functions}/tui/confirm_model.go | 0 .../tui/filtered_list_model.go | 0 {types => functions}/tui/list_item.go | 0 {types => functions}/tui/list_model.go | 0 .../tui/multi_progress_model.go | 0 {types => functions}/tui/progress_model.go | 0 {types => functions}/tui/spinner_model.go | 0 .../tui/spinner_with_timeout_model.go | 0 {types => functions}/tui/styles.go | 0 {types => functions}/tui/theme.go | 0 types/core/error.md | 2 +- types/core/option.md | 2 +- types/core/pair.md | 2 +- types/core/result.md | 2 +- types/cybersecurity/cidr_block.md | 2 +- types/cybersecurity/port_result.md | 2 +- types/cybersecurity/threat_result.md | 2 +- types/datascience/outlier_result.md | 2 +- types/finance/bollinger_result.md | 2 +- types/finance/drawdown_result.md | 2 +- types/finance/ohlcv.md | 2 +- types/finance/tick.md | 2 +- types/infra/container_info.md | 2 +- types/infra/image_info.md | 2 +- types/infra/metabase_client.md | 2 +- types/shell/cmd_result.md | 2 +- types/tui/base_model.md | 2 +- types/tui/confirm_model.md | 2 +- types/tui/filtered_list_model.md | 2 +- types/tui/list_item.md | 2 +- types/tui/list_model.md | 2 +- types/tui/multi_progress_model.md | 2 +- types/tui/progress_model.md | 2 +- types/tui/spinner_model.md | 2 +- types/tui/spinner_with_timeout_model.md | 2 +- types/tui/styles.md | 2 +- types/tui/theme.md | 2 +- 56 files changed, 27 insertions(+), 55 deletions(-) rename {types => functions}/core/error.go (100%) rename {types => functions}/core/option.go (100%) rename {types => functions}/core/pair.go (100%) rename {types => functions}/core/result.go (100%) rename {types => functions}/core/result_test.go (100%) rename {types => functions}/cybersecurity/cidr_block.go (100%) rename {types => functions}/cybersecurity/port_result.go (100%) rename {types => functions}/cybersecurity/threat_result.go (100%) rename {types => functions}/datascience/outlier_result.go (100%) rename {types => functions}/finance/bollinger_result.go (100%) rename {types => functions}/finance/drawdown_result.go (100%) rename {types => functions}/finance/ohlcv.go (100%) rename {types => functions}/finance/tick.go (100%) rename {types => functions}/infra/container_info.go (100%) rename {types => functions}/infra/image_info.go (100%) rename {types => functions}/infra/metabase_client.go (100%) delete mode 100644 functions/infra/types.go rename {types => functions}/shell/cmd_result.go (100%) rename {types => functions}/tui/base_model.go (100%) rename {types => functions}/tui/confirm_model.go (100%) rename {types => functions}/tui/filtered_list_model.go (100%) rename {types => functions}/tui/list_item.go (100%) rename {types => functions}/tui/list_model.go (100%) rename {types => functions}/tui/multi_progress_model.go (100%) rename {types => functions}/tui/progress_model.go (100%) rename {types => functions}/tui/spinner_model.go (100%) rename {types => functions}/tui/spinner_with_timeout_model.go (100%) rename {types => functions}/tui/styles.go (100%) rename {types => functions}/tui/theme.go (100%) diff --git a/types/core/error.go b/functions/core/error.go similarity index 100% rename from types/core/error.go rename to functions/core/error.go diff --git a/types/core/option.go b/functions/core/option.go similarity index 100% rename from types/core/option.go rename to functions/core/option.go diff --git a/types/core/pair.go b/functions/core/pair.go similarity index 100% rename from types/core/pair.go rename to functions/core/pair.go diff --git a/types/core/result.go b/functions/core/result.go similarity index 100% rename from types/core/result.go rename to functions/core/result.go diff --git a/types/core/result_test.go b/functions/core/result_test.go similarity index 100% rename from types/core/result_test.go rename to functions/core/result_test.go diff --git a/types/cybersecurity/cidr_block.go b/functions/cybersecurity/cidr_block.go similarity index 100% rename from types/cybersecurity/cidr_block.go rename to functions/cybersecurity/cidr_block.go diff --git a/types/cybersecurity/port_result.go b/functions/cybersecurity/port_result.go similarity index 100% rename from types/cybersecurity/port_result.go rename to functions/cybersecurity/port_result.go diff --git a/types/cybersecurity/threat_result.go b/functions/cybersecurity/threat_result.go similarity index 100% rename from types/cybersecurity/threat_result.go rename to functions/cybersecurity/threat_result.go diff --git a/types/datascience/outlier_result.go b/functions/datascience/outlier_result.go similarity index 100% rename from types/datascience/outlier_result.go rename to functions/datascience/outlier_result.go diff --git a/types/finance/bollinger_result.go b/functions/finance/bollinger_result.go similarity index 100% rename from types/finance/bollinger_result.go rename to functions/finance/bollinger_result.go diff --git a/types/finance/drawdown_result.go b/functions/finance/drawdown_result.go similarity index 100% rename from types/finance/drawdown_result.go rename to functions/finance/drawdown_result.go diff --git a/types/finance/ohlcv.go b/functions/finance/ohlcv.go similarity index 100% rename from types/finance/ohlcv.go rename to functions/finance/ohlcv.go diff --git a/types/finance/tick.go b/functions/finance/tick.go similarity index 100% rename from types/finance/tick.go rename to functions/finance/tick.go diff --git a/types/infra/container_info.go b/functions/infra/container_info.go similarity index 100% rename from types/infra/container_info.go rename to functions/infra/container_info.go diff --git a/types/infra/image_info.go b/functions/infra/image_info.go similarity index 100% rename from types/infra/image_info.go rename to functions/infra/image_info.go diff --git a/types/infra/metabase_client.go b/functions/infra/metabase_client.go similarity index 100% rename from types/infra/metabase_client.go rename to functions/infra/metabase_client.go diff --git a/functions/infra/types.go b/functions/infra/types.go deleted file mode 100644 index 9d515777..00000000 --- a/functions/infra/types.go +++ /dev/null @@ -1,28 +0,0 @@ -package infra - -// ContainerInfo representa la información básica de un contenedor Docker. -type ContainerInfo struct { - ID string - Name string - Image string - Status string - State string - Ports string - Created string - Labels map[string]string -} - -// ImageInfo representa la información básica de una imagen Docker local. -type ImageInfo struct { - ID string - Repository string - Tag string - Size string - Created string -} - -// MetabaseClient holds the connection details for a Metabase instance API. -type MetabaseClient struct { - BaseURL string // e.g. "http://localhost:3000" - Token string // session token or API key -} diff --git a/types/shell/cmd_result.go b/functions/shell/cmd_result.go similarity index 100% rename from types/shell/cmd_result.go rename to functions/shell/cmd_result.go diff --git a/types/tui/base_model.go b/functions/tui/base_model.go similarity index 100% rename from types/tui/base_model.go rename to functions/tui/base_model.go diff --git a/types/tui/confirm_model.go b/functions/tui/confirm_model.go similarity index 100% rename from types/tui/confirm_model.go rename to functions/tui/confirm_model.go diff --git a/types/tui/filtered_list_model.go b/functions/tui/filtered_list_model.go similarity index 100% rename from types/tui/filtered_list_model.go rename to functions/tui/filtered_list_model.go diff --git a/types/tui/list_item.go b/functions/tui/list_item.go similarity index 100% rename from types/tui/list_item.go rename to functions/tui/list_item.go diff --git a/types/tui/list_model.go b/functions/tui/list_model.go similarity index 100% rename from types/tui/list_model.go rename to functions/tui/list_model.go diff --git a/types/tui/multi_progress_model.go b/functions/tui/multi_progress_model.go similarity index 100% rename from types/tui/multi_progress_model.go rename to functions/tui/multi_progress_model.go diff --git a/types/tui/progress_model.go b/functions/tui/progress_model.go similarity index 100% rename from types/tui/progress_model.go rename to functions/tui/progress_model.go diff --git a/types/tui/spinner_model.go b/functions/tui/spinner_model.go similarity index 100% rename from types/tui/spinner_model.go rename to functions/tui/spinner_model.go diff --git a/types/tui/spinner_with_timeout_model.go b/functions/tui/spinner_with_timeout_model.go similarity index 100% rename from types/tui/spinner_with_timeout_model.go rename to functions/tui/spinner_with_timeout_model.go diff --git a/types/tui/styles.go b/functions/tui/styles.go similarity index 100% rename from types/tui/styles.go rename to functions/tui/styles.go diff --git a/types/tui/theme.go b/functions/tui/theme.go similarity index 100% rename from types/tui/theme.go rename to functions/tui/theme.go diff --git a/types/core/error.md b/types/core/error.md index 52de7883..f90737f1 100644 --- a/types/core/error.md +++ b/types/core/error.md @@ -11,5 +11,5 @@ definition: | description: "Tipo de error base del registry. Referenciado como error_type por funciones impuras." tags: [error, base, impure] uses_types: [] -file_path: "types/core/error.go" +file_path: "functions/core/error.go" --- diff --git a/types/core/option.md b/types/core/option.md index 98395988..9e1adcd3 100644 --- a/types/core/option.md +++ b/types/core/option.md @@ -11,7 +11,7 @@ definition: | description: "Tipo suma generico que representa un valor opcional: Some(T) o None. Alternativa a punteros nil para modelar ausencia de valor de forma explicita." tags: [option, sum, nullable, functional, generic] uses_types: [] -file_path: "types/core/option.go" +file_path: "functions/core/option.go" --- ## Notas diff --git a/types/core/pair.md b/types/core/pair.md index d94d2742..d907c0a8 100644 --- a/types/core/pair.md +++ b/types/core/pair.md @@ -12,5 +12,5 @@ definition: | description: "Tipo producto generico que agrupa dos valores de tipos potencialmente distintos. Util para ZipSlices y operaciones que devuelven dos resultados." tags: [pair, tuple, product, generic] uses_types: [] -file_path: "types/core/pair.go" +file_path: "functions/core/pair.go" --- diff --git a/types/core/result.md b/types/core/result.md index b3b455db..dd11f60a 100644 --- a/types/core/result.md +++ b/types/core/result.md @@ -12,7 +12,7 @@ definition: | description: "Tipo suma generico que representa exito (Ok) o fallo (Err). Permite componer operaciones que pueden fallar sin recurrir a multiples returns (T, error)." tags: [result, sum, error-handling, functional, generic] uses_types: [] -file_path: "types/core/result.go" +file_path: "functions/core/result.go" --- ## Notas diff --git a/types/cybersecurity/cidr_block.md b/types/cybersecurity/cidr_block.md index 2758028c..a8c0a95d 100644 --- a/types/cybersecurity/cidr_block.md +++ b/types/cybersecurity/cidr_block.md @@ -13,5 +13,5 @@ definition: | description: "Rango de red CIDR parseado con network, broadcast y numero de hosts." tags: [cybersecurity, network, cidr, ip] uses_types: [] -file_path: "types/cybersecurity/cidr_block.go" +file_path: "functions/cybersecurity/cidr_block.go" --- diff --git a/types/cybersecurity/port_result.md b/types/cybersecurity/port_result.md index 2b5de870..1a99941e 100644 --- a/types/cybersecurity/port_result.md +++ b/types/cybersecurity/port_result.md @@ -12,5 +12,5 @@ definition: | description: "Tipo suma para resultados de escaneo TCP: Open (con banner), Closed o Filtered." tags: [cybersecurity, port, scan, network] uses_types: [] -file_path: "types/cybersecurity/port_result.go" +file_path: "functions/cybersecurity/port_result.go" --- diff --git a/types/cybersecurity/threat_result.md b/types/cybersecurity/threat_result.md index 31dc0545..ed051b26 100644 --- a/types/cybersecurity/threat_result.md +++ b/types/cybersecurity/threat_result.md @@ -12,5 +12,5 @@ definition: | description: "Tipo suma para resultados de deteccion de amenazas: Clean, Suspicious o Malicious." tags: [cybersecurity, threat, detection, sqli] uses_types: [] -file_path: "types/cybersecurity/threat_result.go" +file_path: "functions/cybersecurity/threat_result.go" --- diff --git a/types/datascience/outlier_result.md b/types/datascience/outlier_result.md index e414449e..f9877ff2 100644 --- a/types/datascience/outlier_result.md +++ b/types/datascience/outlier_result.md @@ -11,5 +11,5 @@ definition: | description: "Tipo suma que clasifica un dato como Normal o Outlier con su z-score. Usado por DetectOutliers." tags: [datascience, outlier, anomaly, statistics] uses_types: [] -file_path: "types/datascience/outlier_result.go" +file_path: "functions/datascience/outlier_result.go" --- diff --git a/types/finance/bollinger_result.md b/types/finance/bollinger_result.md index 0ed05b3b..e182c692 100644 --- a/types/finance/bollinger_result.md +++ b/types/finance/bollinger_result.md @@ -13,5 +13,5 @@ definition: | description: "Resultado de Bollinger Bands con bandas superior, media e inferior." tags: [finance, bollinger, indicator, bands] uses_types: [] -file_path: "types/finance/bollinger_result.go" +file_path: "functions/finance/bollinger_result.go" --- diff --git a/types/finance/drawdown_result.md b/types/finance/drawdown_result.md index 45a2e5b4..a5d5a929 100644 --- a/types/finance/drawdown_result.md +++ b/types/finance/drawdown_result.md @@ -13,5 +13,5 @@ definition: | description: "Resultado de maximo drawdown con el valor de caida y los indices de inicio y fin." tags: [finance, drawdown, risk, metric] uses_types: [] -file_path: "types/finance/drawdown_result.go" +file_path: "functions/finance/drawdown_result.go" --- diff --git a/types/finance/ohlcv.md b/types/finance/ohlcv.md index 6c43b693..8a85d626 100644 --- a/types/finance/ohlcv.md +++ b/types/finance/ohlcv.md @@ -15,5 +15,5 @@ definition: | description: "Vela de mercado con precios de apertura, maximo, minimo, cierre y volumen." tags: [finance, market, candle, ohlcv] uses_types: [] -file_path: "types/finance/ohlcv.go" +file_path: "functions/finance/ohlcv.go" --- diff --git a/types/finance/tick.md b/types/finance/tick.md index f2413ab7..2ea7fb9f 100644 --- a/types/finance/tick.md +++ b/types/finance/tick.md @@ -14,5 +14,5 @@ definition: | description: "Evento de trade individual en un mercado. Contiene simbolo, precio, volumen y timestamp." tags: [finance, market, tick, trade] uses_types: [] -file_path: "types/finance/tick.go" +file_path: "functions/finance/tick.go" --- diff --git a/types/infra/container_info.md b/types/infra/container_info.md index 630f26a5..3430427d 100644 --- a/types/infra/container_info.md +++ b/types/infra/container_info.md @@ -18,7 +18,7 @@ definition: | description: "Información básica de un contenedor Docker: ID, nombre, imagen, estado, puertos, labels." tags: [docker, container, infra] uses_types: [] -file_path: "types/infra/container_info.go" +file_path: "functions/infra/container_info.go" --- ## Ejemplo diff --git a/types/infra/image_info.md b/types/infra/image_info.md index 7ba2a5d0..c7c05994 100644 --- a/types/infra/image_info.md +++ b/types/infra/image_info.md @@ -15,7 +15,7 @@ definition: | description: "Información básica de una imagen Docker local: ID, repositorio, tag, tamaño, fecha." tags: [docker, image, infra] uses_types: [] -file_path: "types/infra/image_info.go" +file_path: "functions/infra/image_info.go" --- ## Ejemplo diff --git a/types/infra/metabase_client.md b/types/infra/metabase_client.md index be7b1765..c6a8dd5f 100644 --- a/types/infra/metabase_client.md +++ b/types/infra/metabase_client.md @@ -12,7 +12,7 @@ definition: | description: "Cliente para la API REST de Metabase. Contiene la URL base de la instancia y el token de autenticacion (session token o API key)." tags: [metabase, api, client, infra] uses_types: [] -file_path: "types/infra/metabase_client.go" +file_path: "functions/infra/metabase_client.go" --- ## Notas diff --git a/types/shell/cmd_result.md b/types/shell/cmd_result.md index 2eb1cc8d..36234b37 100644 --- a/types/shell/cmd_result.md +++ b/types/shell/cmd_result.md @@ -13,7 +13,7 @@ definition: | description: "Resultado de la ejecucion de un comando del sistema con stdout, stderr y codigo de salida." tags: [shell, command, process, result] uses_types: [] -file_path: "types/shell/cmd_result.go" +file_path: "functions/shell/cmd_result.go" --- ## Notas diff --git a/types/tui/base_model.md b/types/tui/base_model.md index d6d099d7..642bbe31 100644 --- a/types/tui/base_model.md +++ b/types/tui/base_model.md @@ -9,5 +9,5 @@ definition: | description: "Modelo base que provee dimensiones de terminal, estilos y manejo de errores comunes a todas las vistas TUI." tags: [tui, base, model, component] uses_types: [styles_go_tui] -file_path: "types/tui/base_model.go" +file_path: "functions/tui/base_model.go" --- diff --git a/types/tui/confirm_model.md b/types/tui/confirm_model.md index 7678561a..2be7819c 100644 --- a/types/tui/confirm_model.md +++ b/types/tui/confirm_model.md @@ -9,5 +9,5 @@ definition: | description: "Dialogo de confirmacion Si/No interactivo. Embeds BaseModel. Implementa tea.Model." tags: [tui, confirm, dialog, component, interactive] uses_types: [base_model_go_tui] -file_path: "types/tui/confirm_model.go" +file_path: "functions/tui/confirm_model.go" --- diff --git a/types/tui/filtered_list_model.md b/types/tui/filtered_list_model.md index 4736eccf..15eee982 100644 --- a/types/tui/filtered_list_model.md +++ b/types/tui/filtered_list_model.md @@ -9,5 +9,5 @@ definition: | description: "Lista con filtrado por texto en tiempo real. Embeds ListModel y añade busqueda interactiva." tags: [tui, list, filter, component, interactive] uses_types: [list_model_go_tui, list_item_go_tui] -file_path: "types/tui/filtered_list_model.go" +file_path: "functions/tui/filtered_list_model.go" --- diff --git a/types/tui/list_item.md b/types/tui/list_item.md index abba26ff..fb33e6bf 100644 --- a/types/tui/list_item.md +++ b/types/tui/list_item.md @@ -9,5 +9,5 @@ definition: | description: "Item individual de una lista TUI con titulo, descripcion y valor arbitrario." tags: [tui, list, component] uses_types: [] -file_path: "types/tui/list_item.go" +file_path: "functions/tui/list_item.go" --- diff --git a/types/tui/list_model.md b/types/tui/list_model.md index ee5bee14..7498eb4e 100644 --- a/types/tui/list_model.md +++ b/types/tui/list_model.md @@ -9,5 +9,5 @@ definition: | description: "Componente lista seleccionable con cursor, scroll y seleccion simple o multiple. Implementa tea.Model." tags: [tui, list, component, interactive] uses_types: [list_item_go_tui, styles_go_tui] -file_path: "types/tui/list_model.go" +file_path: "functions/tui/list_model.go" --- diff --git a/types/tui/multi_progress_model.md b/types/tui/multi_progress_model.md index 63eb507b..af935664 100644 --- a/types/tui/multi_progress_model.md +++ b/types/tui/multi_progress_model.md @@ -9,5 +9,5 @@ definition: | description: "Gestor de multiples barras de progreso simultaneas. Implementa tea.Model." tags: [tui, progress, multi, component] uses_types: [progress_model_go_tui, styles_go_tui] -file_path: "types/tui/multi_progress_model.go" +file_path: "functions/tui/multi_progress_model.go" --- diff --git a/types/tui/progress_model.md b/types/tui/progress_model.md index ab81521d..c8a5ddae 100644 --- a/types/tui/progress_model.md +++ b/types/tui/progress_model.md @@ -9,5 +9,5 @@ definition: | description: "Barra de progreso con porcentaje, ETA y tiempo transcurrido. Implementa tea.Model." tags: [tui, progress, component, interactive] uses_types: [styles_go_tui] -file_path: "types/tui/progress_model.go" +file_path: "functions/tui/progress_model.go" --- diff --git a/types/tui/spinner_model.md b/types/tui/spinner_model.md index 90e961ed..80de7f05 100644 --- a/types/tui/spinner_model.md +++ b/types/tui/spinner_model.md @@ -9,5 +9,5 @@ definition: | description: "Indicador de carga animado con mensaje personalizable. Implementa tea.Model." tags: [tui, spinner, loading, component] uses_types: [] -file_path: "types/tui/spinner_model.go" +file_path: "functions/tui/spinner_model.go" --- diff --git a/types/tui/spinner_with_timeout_model.md b/types/tui/spinner_with_timeout_model.md index cc796d10..fd4a12dd 100644 --- a/types/tui/spinner_with_timeout_model.md +++ b/types/tui/spinner_with_timeout_model.md @@ -9,5 +9,5 @@ definition: | description: "Spinner que se auto-detiene tras un timeout configurable. Embeds SpinnerModel." tags: [tui, spinner, timeout, component] uses_types: [spinner_model_go_tui] -file_path: "types/tui/spinner_with_timeout_model.go" +file_path: "functions/tui/spinner_with_timeout_model.go" --- diff --git a/types/tui/styles.md b/types/tui/styles.md index 496aa8e2..6c65a093 100644 --- a/types/tui/styles.md +++ b/types/tui/styles.md @@ -9,5 +9,5 @@ definition: | description: "Coleccion completa de estilos lipgloss pre-configurados para tipografia, estados, componentes y layout." tags: [tui, styles, lipgloss, theme] uses_types: [theme_go_tui] -file_path: "types/tui/styles.go" +file_path: "functions/tui/styles.go" --- diff --git a/types/tui/theme.md b/types/tui/theme.md index def9e801..1f6e807d 100644 --- a/types/tui/theme.md +++ b/types/tui/theme.md @@ -9,5 +9,5 @@ definition: | description: "Paleta de colores para terminal con 9 colores semanticos. Base del sistema de estilos." tags: [tui, theme, styles, colors] uses_types: [] -file_path: "types/tui/theme.go" +file_path: "functions/tui/theme.go" ---