@nac3/forge-cli 1.14.0 → 1.15.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.
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +71 -7
- package/dist/chat/server.js.map +1 -1
- package/dist/relay/presence_cadence.d.ts +105 -0
- package/dist/relay/presence_cadence.d.ts.map +1 -0
- package/dist/relay/presence_cadence.js +105 -0
- package/dist/relay/presence_cadence.js.map +1 -0
- package/dist/relay/relay_publisher.d.ts +5 -0
- package/dist/relay/relay_publisher.d.ts.map +1 -1
- package/dist/relay/relay_publisher.js +1 -0
- package/dist/relay/relay_publisher.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cada cuanto late la presencia del desktop en el relay.
|
|
3
|
+
*
|
|
4
|
+
* Por que es un modulo con tests y no un ternario adentro del setInterval
|
|
5
|
+
* (Pablo, 12-oct-2026): el latido era fijo en 15s, ocioso o trabajando, y eso
|
|
6
|
+
* medido contra el D1 de produccion daba esto:
|
|
7
|
+
*
|
|
8
|
+
* - 426 de los 500 eventos retenidos del handle (85%) eran latido;
|
|
9
|
+
* - la ventana ENTERA del relay era de 107 minutos (RETAIN=500 / 4 por
|
|
10
|
+
* minuto), asi que todo lo que importa -- turnos, estados, tableros --
|
|
11
|
+
* se caia solo por el peso del latido;
|
|
12
|
+
* - la cola de 40 que pide un refresco traia 34 latidos y 6 eventos utiles:
|
|
13
|
+
* 8 minutos de ventana. Completamente ocioso, los 40 son latido y el
|
|
14
|
+
* refresco no trae NADA que mostrar. Eso es el "no actualiza ninguna
|
|
15
|
+
* pestana".
|
|
16
|
+
* - y cada latido son ~3 filas escritas en D1 (insert + seq + retencion):
|
|
17
|
+
* 17.280 filas por dia por instancia SIN HACER NADA, contra las 100.000
|
|
18
|
+
* del tier gratis.
|
|
19
|
+
*
|
|
20
|
+
* Es el mismo bug que se arreglo el 11-oct sacando `activity` de la cola del
|
|
21
|
+
* chat, y el arreglo no alcanzo: se quito al inundador para proteger al
|
|
22
|
+
* latido, y el latido paso a ser el inundador. La diferencia es que `activity`
|
|
23
|
+
* inunda mientras hay turno y el latido inunda PARA SIEMPRE.
|
|
24
|
+
*
|
|
25
|
+
* La cadencia no puede ser plana en el otro sentido tampoco: el turno en vuelo
|
|
26
|
+
* VIAJA dentro del latido (ver in_flight_turn.ts), que es justo lo que se
|
|
27
|
+
* arreglo el 11-oct para que el telefono muestre el pedido en proceso. Un
|
|
28
|
+
* latido de 5 minutos lo romperia.
|
|
29
|
+
*
|
|
30
|
+
* De ahi las tres reglas: rapido con turno en vuelo (acotado por la duracion
|
|
31
|
+
* del turno), lento ocioso (el caso eterno), e inmediato cuando el ESTADO
|
|
32
|
+
* cambia -- que es lo que hace que el pedido aparezca al instante sin pagar la
|
|
33
|
+
* cadencia rapida el resto del dia.
|
|
34
|
+
*
|
|
35
|
+
* ASCII puro.
|
|
36
|
+
*/
|
|
37
|
+
/** Con turno en vuelo. Lo paga la duracion del turno, no el dia entero. */
|
|
38
|
+
export declare const PRESENCE_WORKING_MS = 15000;
|
|
39
|
+
/** Ocioso. 20x mas lento que el anterior: 864 filas/dia en vez de 17.280, y
|
|
40
|
+
* la ventana del relay pasa de 2h a 41h. */
|
|
41
|
+
export declare const PRESENCE_IDLE_MS = 300000;
|
|
42
|
+
/** Cada cuanto se EVALUA la decision. No es la cadencia: es la resolucion con
|
|
43
|
+
* que se detecta un cambio de estado (regla 2), que es lo unico que necesita
|
|
44
|
+
* reaccionar rapido. Un tick que decide no latir no hace ninguna E/S. */
|
|
45
|
+
export declare const PRESENCE_TICK_MS = 5000;
|
|
46
|
+
export interface PresenceInfo {
|
|
47
|
+
hostname: string;
|
|
48
|
+
project_slug?: string | null;
|
|
49
|
+
turn?: {
|
|
50
|
+
id: string;
|
|
51
|
+
} | null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* La firma del ESTADO anunciado. Dos latidos con la misma firma dicen lo
|
|
55
|
+
* mismo; uno con firma distinta es informacion nueva y no espera la cadencia.
|
|
56
|
+
*
|
|
57
|
+
* Lleva el id del turno y no el turno entero a proposito: `started_at` es
|
|
58
|
+
* constante dentro de un turno y `user` tambien, asi que el id ya distingue
|
|
59
|
+
* todo lo que cambia. Incluir el objeto completo haria que un cambio de
|
|
60
|
+
* formato de fecha se leyera como estado nuevo.
|
|
61
|
+
*/
|
|
62
|
+
export declare function presenceSignature(info: PresenceInfo): string;
|
|
63
|
+
export interface BeatDecision {
|
|
64
|
+
/** Si hay que publicar el latido en este tick. */
|
|
65
|
+
beat: boolean;
|
|
66
|
+
/** Por que. Solo para diagnostico y para que los tests afirmen la RAZON y
|
|
67
|
+
* no solo el booleano: un `true` por el motivo equivocado es un bug que
|
|
68
|
+
* pasa verde. */
|
|
69
|
+
reason: 'first' | 'state_changed' | 'working_cadence' | 'idle_cadence' | 'hold';
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Decide si late. Pura: toda la entrada es argumento.
|
|
73
|
+
*
|
|
74
|
+
* El orden importa. `state_changed` va ANTES de las cadencias porque un turno
|
|
75
|
+
* que arranca no puede esperar: si el cambio de estado quedara detras de la
|
|
76
|
+
* cadencia ociosa, el pedido en proceso tardaria hasta 5 minutos en aparecer
|
|
77
|
+
* en el telefono, que es exactamente el sintoma que el latido con turno vino
|
|
78
|
+
* a resolver.
|
|
79
|
+
*/
|
|
80
|
+
export declare function decideBeat(args: {
|
|
81
|
+
now: number;
|
|
82
|
+
/** Momento del ultimo latido publicado, o null si no hubo ninguno. */
|
|
83
|
+
lastBeatAt: number | null;
|
|
84
|
+
/** Firma del ultimo latido publicado, o null si no hubo ninguno. */
|
|
85
|
+
lastSig: string | null;
|
|
86
|
+
/** Firma del estado actual. */
|
|
87
|
+
sig: string;
|
|
88
|
+
/** Si hay un turno en vuelo. */
|
|
89
|
+
working: boolean;
|
|
90
|
+
}): BeatDecision;
|
|
91
|
+
/**
|
|
92
|
+
* TTL minimo que puede usar el telefono para dar por muerta a una instancia,
|
|
93
|
+
* derivado de la cadencia en vez de escrito a mano en el otro lado del repo.
|
|
94
|
+
*
|
|
95
|
+
* Por que derivado: antes eran 48.000 ms contra un latido de 15.000, o sea 3
|
|
96
|
+
* latidos de margen, y las dos constantes vivian en archivos distintos sin
|
|
97
|
+
* nada que las ligara. Bajar la cadencia sin tocar el TTL habria hecho que el
|
|
98
|
+
* telefono borre como muerta a toda instancia ociosa viva -- y eso se ve como
|
|
99
|
+
* "el desktop se desconecto", el sintoma que estamos persiguiendo.
|
|
100
|
+
*
|
|
101
|
+
* Tres latidos ociosos: tolera dos perdidos seguidos (un flush fallido, un
|
|
102
|
+
* corte de red corto) antes de declarar muerta a una instancia que esta viva.
|
|
103
|
+
*/
|
|
104
|
+
export declare const INSTANCE_TTL_MS: number;
|
|
105
|
+
//# sourceMappingURL=presence_cadence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presence_cadence.d.ts","sourceRoot":"","sources":["../../src/relay/presence_cadence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C;6CAC6C;AAC7C,eAAO,MAAM,gBAAgB,SAAU,CAAC;AACxC;;0EAE0E;AAC1E,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAK5D;AAED,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,IAAI,EAAE,OAAO,CAAC;IACd;;sBAEkB;IAClB,MAAM,EAAE,OAAO,GAAG,eAAe,GAAG,iBAAiB,GAAG,cAAc,GAAG,MAAM,CAAC;CACjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oEAAoE;IACpE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,YAAY,CAiBf;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,QAAuB,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cada cuanto late la presencia del desktop en el relay.
|
|
3
|
+
*
|
|
4
|
+
* Por que es un modulo con tests y no un ternario adentro del setInterval
|
|
5
|
+
* (Pablo, 12-oct-2026): el latido era fijo en 15s, ocioso o trabajando, y eso
|
|
6
|
+
* medido contra el D1 de produccion daba esto:
|
|
7
|
+
*
|
|
8
|
+
* - 426 de los 500 eventos retenidos del handle (85%) eran latido;
|
|
9
|
+
* - la ventana ENTERA del relay era de 107 minutos (RETAIN=500 / 4 por
|
|
10
|
+
* minuto), asi que todo lo que importa -- turnos, estados, tableros --
|
|
11
|
+
* se caia solo por el peso del latido;
|
|
12
|
+
* - la cola de 40 que pide un refresco traia 34 latidos y 6 eventos utiles:
|
|
13
|
+
* 8 minutos de ventana. Completamente ocioso, los 40 son latido y el
|
|
14
|
+
* refresco no trae NADA que mostrar. Eso es el "no actualiza ninguna
|
|
15
|
+
* pestana".
|
|
16
|
+
* - y cada latido son ~3 filas escritas en D1 (insert + seq + retencion):
|
|
17
|
+
* 17.280 filas por dia por instancia SIN HACER NADA, contra las 100.000
|
|
18
|
+
* del tier gratis.
|
|
19
|
+
*
|
|
20
|
+
* Es el mismo bug que se arreglo el 11-oct sacando `activity` de la cola del
|
|
21
|
+
* chat, y el arreglo no alcanzo: se quito al inundador para proteger al
|
|
22
|
+
* latido, y el latido paso a ser el inundador. La diferencia es que `activity`
|
|
23
|
+
* inunda mientras hay turno y el latido inunda PARA SIEMPRE.
|
|
24
|
+
*
|
|
25
|
+
* La cadencia no puede ser plana en el otro sentido tampoco: el turno en vuelo
|
|
26
|
+
* VIAJA dentro del latido (ver in_flight_turn.ts), que es justo lo que se
|
|
27
|
+
* arreglo el 11-oct para que el telefono muestre el pedido en proceso. Un
|
|
28
|
+
* latido de 5 minutos lo romperia.
|
|
29
|
+
*
|
|
30
|
+
* De ahi las tres reglas: rapido con turno en vuelo (acotado por la duracion
|
|
31
|
+
* del turno), lento ocioso (el caso eterno), e inmediato cuando el ESTADO
|
|
32
|
+
* cambia -- que es lo que hace que el pedido aparezca al instante sin pagar la
|
|
33
|
+
* cadencia rapida el resto del dia.
|
|
34
|
+
*
|
|
35
|
+
* ASCII puro.
|
|
36
|
+
*/
|
|
37
|
+
/** Con turno en vuelo. Lo paga la duracion del turno, no el dia entero. */
|
|
38
|
+
export const PRESENCE_WORKING_MS = 15_000;
|
|
39
|
+
/** Ocioso. 20x mas lento que el anterior: 864 filas/dia en vez de 17.280, y
|
|
40
|
+
* la ventana del relay pasa de 2h a 41h. */
|
|
41
|
+
export const PRESENCE_IDLE_MS = 300_000;
|
|
42
|
+
/** Cada cuanto se EVALUA la decision. No es la cadencia: es la resolucion con
|
|
43
|
+
* que se detecta un cambio de estado (regla 2), que es lo unico que necesita
|
|
44
|
+
* reaccionar rapido. Un tick que decide no latir no hace ninguna E/S. */
|
|
45
|
+
export const PRESENCE_TICK_MS = 5_000;
|
|
46
|
+
/**
|
|
47
|
+
* La firma del ESTADO anunciado. Dos latidos con la misma firma dicen lo
|
|
48
|
+
* mismo; uno con firma distinta es informacion nueva y no espera la cadencia.
|
|
49
|
+
*
|
|
50
|
+
* Lleva el id del turno y no el turno entero a proposito: `started_at` es
|
|
51
|
+
* constante dentro de un turno y `user` tambien, asi que el id ya distingue
|
|
52
|
+
* todo lo que cambia. Incluir el objeto completo haria que un cambio de
|
|
53
|
+
* formato de fecha se leyera como estado nuevo.
|
|
54
|
+
*/
|
|
55
|
+
export function presenceSignature(info) {
|
|
56
|
+
const host = String(info.hostname || '');
|
|
57
|
+
const slug = info.project_slug ? String(info.project_slug) : '';
|
|
58
|
+
const turn = info.turn && info.turn.id ? String(info.turn.id) : '';
|
|
59
|
+
return host + '|' + slug + '|' + turn;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Decide si late. Pura: toda la entrada es argumento.
|
|
63
|
+
*
|
|
64
|
+
* El orden importa. `state_changed` va ANTES de las cadencias porque un turno
|
|
65
|
+
* que arranca no puede esperar: si el cambio de estado quedara detras de la
|
|
66
|
+
* cadencia ociosa, el pedido en proceso tardaria hasta 5 minutos en aparecer
|
|
67
|
+
* en el telefono, que es exactamente el sintoma que el latido con turno vino
|
|
68
|
+
* a resolver.
|
|
69
|
+
*/
|
|
70
|
+
export function decideBeat(args) {
|
|
71
|
+
const { now, lastBeatAt, lastSig, sig, working } = args;
|
|
72
|
+
if (lastBeatAt === null || lastSig === null)
|
|
73
|
+
return { beat: true, reason: 'first' };
|
|
74
|
+
if (sig !== lastSig)
|
|
75
|
+
return { beat: true, reason: 'state_changed' };
|
|
76
|
+
const edad = now - lastBeatAt;
|
|
77
|
+
/* Un reloj que salta hacia atras (NTP, suspension) daria edad negativa y
|
|
78
|
+
* congelaria el latido hasta recuperar la diferencia. Se trata como vencido:
|
|
79
|
+
* latir de mas es barato, callarse de mas es el bug que estamos arreglando. */
|
|
80
|
+
if (edad < 0)
|
|
81
|
+
return { beat: true, reason: working ? 'working_cadence' : 'idle_cadence' };
|
|
82
|
+
if (working) {
|
|
83
|
+
return edad >= PRESENCE_WORKING_MS
|
|
84
|
+
? { beat: true, reason: 'working_cadence' }
|
|
85
|
+
: { beat: false, reason: 'hold' };
|
|
86
|
+
}
|
|
87
|
+
return edad >= PRESENCE_IDLE_MS
|
|
88
|
+
? { beat: true, reason: 'idle_cadence' }
|
|
89
|
+
: { beat: false, reason: 'hold' };
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* TTL minimo que puede usar el telefono para dar por muerta a una instancia,
|
|
93
|
+
* derivado de la cadencia en vez de escrito a mano en el otro lado del repo.
|
|
94
|
+
*
|
|
95
|
+
* Por que derivado: antes eran 48.000 ms contra un latido de 15.000, o sea 3
|
|
96
|
+
* latidos de margen, y las dos constantes vivian en archivos distintos sin
|
|
97
|
+
* nada que las ligara. Bajar la cadencia sin tocar el TTL habria hecho que el
|
|
98
|
+
* telefono borre como muerta a toda instancia ociosa viva -- y eso se ve como
|
|
99
|
+
* "el desktop se desconecto", el sintoma que estamos persiguiendo.
|
|
100
|
+
*
|
|
101
|
+
* Tres latidos ociosos: tolera dos perdidos seguidos (un flush fallido, un
|
|
102
|
+
* corte de red corto) antes de declarar muerta a una instancia que esta viva.
|
|
103
|
+
*/
|
|
104
|
+
export const INSTANCE_TTL_MS = PRESENCE_IDLE_MS * 3;
|
|
105
|
+
//# sourceMappingURL=presence_cadence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presence_cadence.js","sourceRoot":"","sources":["../../src/relay/presence_cadence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C;6CAC6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC;;0EAE0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAQtC;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAkB;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,OAAO,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AACxC,CAAC;AAWD;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,IAU1B;IACC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxD,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACpF,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACpE,MAAM,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC;IAC9B;;mFAE+E;IAC/E,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;IAC1F,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,IAAI,mBAAmB;YAChC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE;YAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,IAAI,gBAAgB;QAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;QACxC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,GAAG,CAAC,CAAC"}
|
|
@@ -47,6 +47,11 @@ export declare class RelayPublisher {
|
|
|
47
47
|
user: string;
|
|
48
48
|
started_at: string;
|
|
49
49
|
} | null;
|
|
50
|
+
/** Despedida: esta instancia se esta cerrando y el telefono tiene que
|
|
51
|
+
* sacarla del selector YA, sin esperar el TTL. Con la cadencia ociosa en
|
|
52
|
+
* 300s el TTL son 15 minutos, y una instancia cerrada fantasmeando ese
|
|
53
|
+
* rato hace que el telefono apunte a un desktop que no existe. */
|
|
54
|
+
gone?: boolean;
|
|
50
55
|
}): void;
|
|
51
56
|
/** One Coding-feed item (the echo of what the brain is doing). */
|
|
52
57
|
activity(summary: string, detail?: unknown): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay_publisher.d.ts","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuChE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;6BACyB;IACzB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB;;mFAE+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAEzB,IAAI,EAAE,kBAAkB;IAOpC;;;sBAGkB;IAClB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAC5F,wDAAwD;QACxD,IAAI,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"relay_publisher.d.ts","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAuChE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;6BACyB;IACzB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;IACxB;;mFAE+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAEzB,IAAI,EAAE,kBAAkB;IAOpC;;;sBAGkB;IAClB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAC5F,wDAAwD;QACxD,IAAI,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAC/D;;;2EAGmE;QACnE,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,GAAG,IAAI;IA4BR,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAIjD;8EAC0E;IAC1E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG5D,sEAAsE;IACtE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAG/D;wBACoB;IACpB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG9C;;+BAE2B;IAC3B,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG3C;;kDAE8C;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAkBnG;;;kBAGc;IACd,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrD,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,QAAQ;IAMhB;qBACiB;IACX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B,yCAAyC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -89,6 +89,7 @@ export class RelayPublisher {
|
|
|
89
89
|
user: capUtf8(String(info.turn.user || ''), USER_BUDGET),
|
|
90
90
|
started_at: String(info.turn.started_at || ''),
|
|
91
91
|
} } : {}),
|
|
92
|
+
...(info.gone ? { gone: true } : {}),
|
|
92
93
|
} });
|
|
93
94
|
}
|
|
94
95
|
/** One Coding-feed item (the echo of what the brain is doing). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay_publisher.js","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAyB,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;;sEAKsE;AACtE,MAAM,UAAU,GAAG,2DAA2D,CAAC;AAC/E;8EAC8E;AAC9E,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC;AAC7B,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AACnC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC;AAClC,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhC;oEACoE;AACpE,SAAS,OAAO,CAAC,CAAS,EAAE,QAAgB;IAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IACzF,OAAO,CAAC,GAAG,UAAU,CAAC;AACxB,CAAC;AAED;0CAC0C;AAC1C,SAAS,QAAQ,CAAC,KAA8B;IAC9C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAeD,MAAM,OAAO,cAAc;IACjB,KAAK,GAAuB,EAAE,CAAC;IAC/B,KAAK,GAAyC,IAAI,CAAC;IACnD,QAAQ,GAAG,KAAK,CAAC;IACR,IAAI,CAAY;IAChB,OAAO,CAAS;IAChB,OAAO,CAAgB;IACvB,UAAU,CAAU;IAErC,YAAY,IAAwB;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;;sBAGkB;IAClB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"relay_publisher.js","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Yujin Forge CLI version. Kept in sync with package.json by the npm
|
|
3
3
|
* "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
|
|
4
4
|
*/
|
|
5
|
-
export declare const VERSION = "1.
|
|
5
|
+
export declare const VERSION = "1.15.0";
|
|
6
6
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nac3/forge-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": "Pablo Kuschnirof <pablo@rpaforce.com>",
|