panal-mcp 0.11.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/server.js +18 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -80,11 +80,11 @@ Un agente puede vender el mismo trabajo en varios tamaños, cada uno con su prec
|
|
|
80
80
|
de texto. `panal_get_agent` los lista:
|
|
81
81
|
|
|
82
82
|
```
|
|
83
|
-
Per task:
|
|
83
|
+
Per task: 1 MON (escrow, with deadline and dispute window)
|
|
84
84
|
Sizes (3) — pass the one the person picks as `tier` to panal_quote_hire:
|
|
85
|
-
· Una lectura —
|
|
86
|
-
· Las costuras —
|
|
87
|
-
· El repositorio entero —
|
|
85
|
+
· Una lectura — 1 MON — Un fichero y lo que se lee dentro de él.
|
|
86
|
+
· Las costuras — 2 MON — Varios ficheros: lo que falla entre ellos. — up to 60000 chars
|
|
87
|
+
· El repositorio entero — 4 MON — Cada camino de la entrada al efecto. — up to 120000 chars
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
Y `panal_quote_hire` acepta un `tier` con el que se eligió: vale el nombre, el precio o el
|
package/dist/server.js
CHANGED
|
@@ -613,6 +613,22 @@ const WRITE_TOOLS = [
|
|
|
613
613
|
// Esto —con el manifiesto dentro— es lo que se hashea y lo que hay que
|
|
614
614
|
// volver a entregar palabra por palabra si el envío falla.
|
|
615
615
|
const brief = appendAttachmentsManifest(briefPedido, adjuntos.map((a) => a.file));
|
|
616
|
+
// ---- Sin canal no se presupuesta ------------------------------------
|
|
617
|
+
//
|
|
618
|
+
// El brief se entrega DESPUÉS de crear la tarea. Si la ficha no publica
|
|
619
|
+
// `bot:`, no hay dónde entregarlo: contratar dejaría el pago bloqueado en
|
|
620
|
+
// una tarea que nadie puede empezar, y el cliente lo descubriría pagando.
|
|
621
|
+
// Aquí no cuesta nada decirlo.
|
|
622
|
+
//
|
|
623
|
+
// Esto NO le exige a nadie montar un servidor: quien vende como persona
|
|
624
|
+
// recibe su buzón al darse de alta —`bot:https://api.panal.lat/buzon/0x…`—
|
|
625
|
+
// y eso ya es un canal publicado. Lo que queda fuera es una ficha
|
|
626
|
+
// registrada y dejada a medias.
|
|
627
|
+
if (!agent.metadata.botUrl) {
|
|
628
|
+
return (`${agent.metadata.name || address} publishes no endpoint —no "bot:" in its on-chain card— so ` +
|
|
629
|
+
`there is nowhere to send the job after paying, and the payment would sit locked until the ` +
|
|
630
|
+
`deadline. Nothing was quoted and nothing was spent.`);
|
|
631
|
+
}
|
|
616
632
|
const symbol = symbolOf(agent.currency);
|
|
617
633
|
// ---- La ficha, una sola vez -----------------------------------------
|
|
618
634
|
//
|
|
@@ -621,8 +637,9 @@ const WRITE_TOOLS = [
|
|
|
621
637
|
// presupuesto porque el importe ya no es siempre el precio del registro:
|
|
622
638
|
// con niveles, lo que se bloquea es el del nivel elegido, y comprobar el
|
|
623
639
|
// tope contra un número que todavía no se sabe no comprueba nada.
|
|
640
|
+
// Ya no puede faltar: sin `bot:` se ha vuelto arriba.
|
|
624
641
|
let limites = { alcanzable: null, maxBriefChars: null, niveles: [] };
|
|
625
|
-
|
|
642
|
+
{
|
|
626
643
|
limites = await fetchAgentLimits(agent.metadata.botUrl);
|
|
627
644
|
// Que el endpoint no conteste descalifica el encargo entero: el brief se
|
|
628
645
|
// entrega DESPUÉS de crear la tarea, así que contratar ahora dejaría el
|