docs: params/output semántico en 506 funciones para composabilidad
Añade campos params y output al frontmatter YAML de las 506 funciones del registry. Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico) y cada función describe qué produce su output. Permite a agentes razonar sobre cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
This commit is contained in:
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [regexp, strings]
|
||||
params:
|
||||
- name: input
|
||||
desc: "string a analizar en busca de patrones de SQL injection"
|
||||
output: "tupla (isThreat, pattern): booleano indicando si se detectó amenaza, y nombre del patron encontrado"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [math]
|
||||
params:
|
||||
- name: data
|
||||
desc: "slice de bytes cuya entropia se desea calcular"
|
||||
output: "valor de entropia Shannon entre 0 y 8 bits por byte"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [regexp]
|
||||
params:
|
||||
- name: text
|
||||
desc: "string de texto del cual extraer URLs HTTP/HTTPS"
|
||||
output: "slice de strings con todas las URLs encontradas"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: [fmt, net/http, time]
|
||||
params:
|
||||
- name: url
|
||||
desc: "URL destino para realizar la solicitud HTTP HEAD"
|
||||
output: "mapa de headers de la respuesta (map[string][]string) o error si la solicitud falla"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [crypto/md5, encoding/hex]
|
||||
params:
|
||||
- name: data
|
||||
desc: "slice de bytes a ser hasheado"
|
||||
output: "string hexadecimal del hash MD5 (32 caracteres)"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [crypto/sha256, encoding/hex]
|
||||
params:
|
||||
- name: data
|
||||
desc: "slice de bytes a ser hasheado"
|
||||
output: "string hexadecimal del hash SHA-256 (64 caracteres)"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [net]
|
||||
params:
|
||||
- name: ip
|
||||
desc: "direccion IP en formato string (ej: 192.168.1.1)"
|
||||
- name: cidr
|
||||
desc: "rango CIDR en formato string (ej: 192.168.0.0/24)"
|
||||
output: "booleano indicando si la IP se encuentra dentro del rango CIDR"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [encoding/base64]
|
||||
params:
|
||||
- name: s
|
||||
desc: "string a validar como base64"
|
||||
output: "booleano indicando si el string es base64 valido segun el encoding estandar"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: s
|
||||
desc: "string a validar como hexadecimal"
|
||||
output: "booleano indicando si el string es hexadecimal valido (caracteres 0-9 a-f A-F con longitud par)"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: a
|
||||
desc: "primer slice de strings para comparacion"
|
||||
- name: b
|
||||
desc: "segundo slice de strings para comparacion"
|
||||
output: "coeficiente de similitud de Jaccard entre 0.0 y 1.0"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: a
|
||||
desc: "primer string para comparacion de distancia de edicion"
|
||||
- name: b
|
||||
desc: "segundo string para comparacion de distancia de edicion"
|
||||
output: "entero con la distancia de Levenshtein (minimo numero de ediciones necesarias)"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: [fmt, io, net, strings, time]
|
||||
params:
|
||||
- name: domain
|
||||
desc: "nombre de dominio para el cual realizar la consulta WHOIS"
|
||||
output: "string con la respuesta WHOIS del servidor, o error si la consulta falla"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [net/url, strings]
|
||||
params:
|
||||
- name: rawURL
|
||||
desc: "URL en formato string a normalizar"
|
||||
output: "URL normalizada con host en minusculas, sin fragmentos ni parametros de tracking"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [encoding/binary, fmt, net]
|
||||
params:
|
||||
- name: cidr
|
||||
desc: "notacion CIDR IPv4 a parsear (ej: 192.168.0.0/24)"
|
||||
output: "tupla (network, broadcast, hosts, err) con direccion de red, broadcast, cantidad de hosts usables, y error si aplica"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: [fmt, net]
|
||||
params:
|
||||
- name: host
|
||||
desc: "hostname a resolver"
|
||||
output: "slice de strings con direcciones IP resueltas, o error si la resolucion falla"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,14 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: [fmt, net, time]
|
||||
params:
|
||||
- name: host
|
||||
desc: "hostname o direccion IP del host a escanear"
|
||||
- name: port
|
||||
desc: "numero de puerto TCP a escanear"
|
||||
- name: timeoutMs
|
||||
desc: "timeout en milisegundos para la conexion"
|
||||
output: "tupla (status, banner, err) con estado del puerto (open/closed/filtered), banner si esta abierto, y error si aplica"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
Reference in New Issue
Block a user