@hostwebhook/platform-contracts 0.7.0 → 0.8.0
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.
|
@@ -32,7 +32,15 @@
|
|
|
32
32
|
* Antes la puerta leía `memoryEnabled` del documento para decidir; esa decisión
|
|
33
33
|
* se va con el dato, que es donde puede comprobarse.
|
|
34
34
|
*/
|
|
35
|
-
/**
|
|
35
|
+
/**
|
|
36
|
+
* El nodo conectado, en lo que la puerta lee de él. Siete campos, medidos.
|
|
37
|
+
*
|
|
38
|
+
* Los cuatro primeros son lo que la puerta necesitaba para EJECUTAR. Los tres
|
|
39
|
+
* últimos son lo que necesita para PONERLE PRECIO al turno antes de ejecutarlo:
|
|
40
|
+
* el Chat Trigger tiene topes en dólares y reserva por adelantado, y esa reserva
|
|
41
|
+
* no se puede calcular sin saber a qué modelo se va a llamar ni cuánto puede
|
|
42
|
+
* devolver. Sin ellos la estimación caía a sus valores por defecto en silencio.
|
|
43
|
+
*/
|
|
36
44
|
export interface NodoDeIaConectado {
|
|
37
45
|
id: string;
|
|
38
46
|
/** Para el paso del historial y para decirle al widget con quién habla. */
|
|
@@ -40,6 +48,35 @@ export interface NodoDeIaConectado {
|
|
|
40
48
|
workspaceId: string | null;
|
|
41
49
|
/** Si el widget enseña las llamadas a herramientas mientras ocurren. */
|
|
42
50
|
muestraLasHerramientas: boolean;
|
|
51
|
+
/** El modelo configurado en el nodo. Sin el nombre no hay tarifa, y sin
|
|
52
|
+
* tarifa la reserva del tope EN DÓLARES no se puede calcular: los tokens
|
|
53
|
+
* estimados no son un precio hasta que alguien dice de qué modelo son. */
|
|
54
|
+
model: string;
|
|
55
|
+
/** El tope de salida del nodo. Es el techo de lo que puede devolver, y la
|
|
56
|
+
* estimación es deliberadamente PESIMISTA: reserva el techo entero. */
|
|
57
|
+
maxTokens: number;
|
|
58
|
+
/**
|
|
59
|
+
* La LONGITUD del system prompt del nodo, no el prompt.
|
|
60
|
+
*
|
|
61
|
+
* ⚠️ Un `number` y no la cadena, por dos motivos, y los dos importan:
|
|
62
|
+
*
|
|
63
|
+
* 1. No hace falta más. La estimación sólo hace `.length`: suma ese largo a
|
|
64
|
+
* los caracteres del turno y divide entre tres. El número da exactamente
|
|
65
|
+
* el mismo resultado que la cadena, así que mandar la cadena sería mandar
|
|
66
|
+
* algo que nadie va a leer.
|
|
67
|
+
*
|
|
68
|
+
* 2. Esto CRUZA UNA FRONTERA DE SERVICIO —es el motivo de existir de este
|
|
69
|
+
* fichero, y está en su cabecera—, y el `systemPrompt` es contenido del
|
|
70
|
+
* cliente. Mandarlo entero lo filtraría a un servicio que no lo necesita.
|
|
71
|
+
* Mismo criterio que ya aplica `ChunkingStrategy` en `formas-compartidas`:
|
|
72
|
+
* «sólo cruza la ESTRATEGIA, no la configuración entera».
|
|
73
|
+
*
|
|
74
|
+
* ⚠️ Y se llama `largoDelSystemPrompt` y no `largoDelPrompt` porque en el
|
|
75
|
+
* consumidor conviven DOS prompts: el del nodo y el `systemPromptOverride`
|
|
76
|
+
* del trigger, que lo pisa. El nombre dice cuál se midió — éste es el del
|
|
77
|
+
* nodo, y quien tenga override medirá el suyo y no usará éste.
|
|
78
|
+
*/
|
|
79
|
+
largoDelSystemPrompt: number;
|
|
43
80
|
}
|
|
44
81
|
export interface EjecucionDeIa {
|
|
45
82
|
/** El nodo conectado a ese chat, o `null` si ya no existe. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hostwebhook/platform-contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Contratos compartidos entre los servicios de HostWebhook: addons del plan, identidad interna, y las formas que cruzan una frontera de red",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|