@nac3/forge-cli 1.13.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.
@@ -19,6 +19,13 @@ export interface BrainSelection {
19
19
  /** PND-144 -- opt-in Gemini explicit caching, threaded from brain_config
20
20
  * so makeUnifiedClient can pass it to the GeminiClient. */
21
21
  gemini_explicit_cache?: boolean;
22
+ /** True cuando el clasificador de tier no dio veredicto y el turno se
23
+ * resolvio a frontier por politica de fallo. El panel lo muestra como
24
+ * un aviso chico: una degradacion silenciosa que duro cuatro meses es
25
+ * lo que motivo el cambio (Pablo 2026-10-12). */
26
+ classifier_failed?: boolean;
27
+ /** provider_unsupported | no_api_key | unreachable | sin_veredicto */
28
+ classifier_fail_reason?: string;
22
29
  }
23
30
  /** Inputs the router accepts. All optional. */
24
31
  export interface BrainSelectContext {
@@ -97,6 +104,12 @@ export interface SmartAutoTelemetry {
97
104
  classifier_confidence?: number;
98
105
  classifier_signals?: string[];
99
106
  classifier_cached?: boolean;
107
+ /** True cuando el clasificador no dio veredicto y el turno se
108
+ * resolvio a frontier por politica de fallo (Pablo 2026-10-12). */
109
+ classifier_failed?: boolean;
110
+ /** Por que fallo: provider_unsupported | no_api_key | unreachable |
111
+ * sin_veredicto. Lo lee el panel para el aviso chico. */
112
+ classifier_fail_reason?: string;
100
113
  }
101
114
  /**
102
115
  * Full routing decision. Reads brain_config + vault to resolve a
@@ -1 +1 @@
1
- {"version":3,"file":"cost_router.d.ts","sourceRoot":"","sources":["../../src/core/cost_router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost_router.d.ts","sourceRoot":"","sources":["../../src/core/cost_router.ts"],"names":[],"mappings":"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"}
@@ -285,6 +285,26 @@ async function decideSmartAutoTier(ctx, cfg) {
285
285
  telemetry,
286
286
  };
287
287
  }
288
+ /* Eco DESHABILITADO: la pregunta eco-o-frontier no existe, asi que no se
289
+ * corre el gate ni se paga una llamada al clasificador -- y el motivo lo
290
+ * dice, que es lo que la auditoria necesita (Pablo 2026-10-12).
291
+ *
292
+ * Antes esto se resolvia al final, reescribiendo el tier ya decidido: se
293
+ * pagaba el arbitro para una decision que estaba tomada de antemano. Y con
294
+ * la politica de fallo nueva el caso quedaba peor, porque el turno ya salia
295
+ * en frontier y la reescritura no se aplicaba, asi que el motivo perdia el
296
+ * rastro de POR QUE no fue a eco. El override explicito del usuario sigue
297
+ * ganando: es intencion directa, no inferencia. */
298
+ if (!cfg.eco_enabled && ctx.user_override !== 'eco') {
299
+ return {
300
+ tier: 'frontier',
301
+ reason: 'eco_disabled -> frontier (sin gate ni clasificador: eco no es elegible)',
302
+ telemetry: {
303
+ gate_decision: 'frontier', gate_confidence: 1, gate_ambiguous: false,
304
+ gate_signals: ['eco_disabled'], classifier_used: false,
305
+ },
306
+ };
307
+ }
288
308
  const gate = classifyGate({
289
309
  text: ctx.user_text || '',
290
310
  attachments: ctx.attachments,
@@ -322,65 +342,101 @@ async function decideSmartAutoTier(ctx, cfg) {
322
342
  * 3. la key anthropic del vault con Haiku.
323
343
  * Sin key compatible, el clasificador degrada con su signal de
324
344
  * siempre (classifier_no_api_key). */
325
- let clsProvider = 'google_ai';
326
- let clsModel;
345
+ /* El clasificador usa SIEMPRE el modelo ECO configurado (Pablo
346
+ * 2026-10-12). Antes habia una cascada que lo elegia sola: si habia
347
+ * una key de google_ai en el vault, le hablaba a Gemini -- aunque el
348
+ * eco del usuario fuera Anthropic. Eso tenia dos problemas.
349
+ *
350
+ * El primero, de principio: el clasificador es el que decide si el
351
+ * turno caro va a eco o a frontier, asi que corre con el modelo que
352
+ * el usuario eligio para lo barato. No con uno que el router eligio
353
+ * por su cuenta y que no aparece en ninguna pantalla de configuracion.
354
+ *
355
+ * El segundo, medido: la cascada verificaba que la key EXISTIERA, no
356
+ * que funcionara. Con una key de Google presente pero rechazada (403
357
+ * por facturacion) nunca llegaba al paso de Anthropic, que SI andaba.
358
+ * Resultado: 120 turnos en cuatro meses encontraron el clasificador
359
+ * caido, y 95 de ellos se resolvieron a eco por el fallback. El
360
+ * fallback a Anthropic estaba escrito y era inalcanzable.
361
+ *
362
+ * Si el proveedor eco no es uno que el clasificador sepa hablar
363
+ * (deepseek, openai, ollama...), NO se sustituye por otro en silencio:
364
+ * se declara incompatible y la politica de fallo (frontier) se aplica.
365
+ * Sustituir en silencio es como se llego al 400 permanente de PND-066. */
366
+ const CLASSIFIER_PROVIDERS = new Set(['google_ai', 'anthropic']);
367
+ const clsProvider = CLASSIFIER_PROVIDERS.has(cfg.eco.provider) ? cfg.eco.provider : null;
368
+ const clsModel = clsProvider ? cfg.eco.model : undefined;
327
369
  let clsKey = null;
328
- if (cfg.eco.provider === 'google_ai') {
329
- clsModel = cfg.eco.model;
330
- }
331
- try {
332
- clsKey = await getKey(vaultSlotForProvider('google_ai'));
333
- }
334
- catch {
335
- clsKey = null;
336
- }
337
- if (!clsKey) {
370
+ if (clsProvider) {
338
371
  try {
339
- clsKey = await getKey(vaultSlotForProvider('anthropic'));
372
+ clsKey = await getKey(vaultSlotForProvider(cfg.eco.provider));
340
373
  }
341
374
  catch {
342
375
  clsKey = null;
343
376
  }
344
- if (clsKey) {
345
- clsProvider = 'anthropic';
346
- clsModel = undefined;
347
- }
348
377
  }
349
- const cls = await classifyTurn({
350
- text: ctx.user_text || '',
351
- gate_tier: gate.tier,
352
- previous_tier: ctx.previous_tier,
353
- api_key: clsKey,
354
- provider: clsProvider,
355
- model: clsModel,
356
- });
378
+ if (!clsProvider) {
379
+ telemetry.classifier_signals = [
380
+ ...(telemetry.classifier_signals ?? []),
381
+ 'classifier_provider_unsupported[' + cfg.eco.provider + ']',
382
+ ];
383
+ }
384
+ const cls = clsProvider
385
+ ? await classifyTurn({
386
+ text: ctx.user_text || '',
387
+ gate_tier: gate.tier,
388
+ previous_tier: ctx.previous_tier,
389
+ api_key: clsKey,
390
+ provider: clsProvider,
391
+ model: clsModel,
392
+ })
393
+ /* Proveedor eco incompatible: no hay veredicto y no se inventa uno. */
394
+ : { tier: gate.tier, verdict: null, confidence: 0.5, signals: [], cached: false };
357
395
  telemetry.classifier_used = true;
358
396
  telemetry.classifier_verdict = cls.verdict;
359
397
  telemetry.classifier_confidence = cls.confidence;
360
398
  telemetry.classifier_signals = cls.signals;
361
399
  telemetry.classifier_cached = cls.cached;
362
- /* PND-066 -- politica de fallback con clasificador caido: si el
363
- * gate solo tenia weak_signals (confianza <= 0.35) y el
364
- * clasificador no dio veredicto, NO confiar en el gate tier.
365
- * Preferencia: (1) previous_tier -- continuidad de conversacion
366
- * ("ok" en un hilo eco sigue eco); (2) chat_default_tier del
367
- * usuario. Con gate=eco/0.30 + clasificador caido, el
368
- * comportamiento viejo servia turnos complejos con Haiku toda
369
- * la sesion (Yuemail 2026-06-10). */
400
+ /* POLITICA DE FALLO DEL CLASIFICADOR: si no hay veredicto, FRONTIER.
401
+ * Sin excepciones, sin importar la confianza del gate (Pablo
402
+ * 2026-10-12).
403
+ *
404
+ * Reemplaza la politica de PND-066, que caia a previous_tier y si no
405
+ * a chat_default_tier, y solo cuando la confianza del gate era <= 0.35.
406
+ * Los dos recortes fallaban en el entorno real:
407
+ *
408
+ * - El umbral dejaba afuera los turnos de confianza media: dos turnos
409
+ * de gate=eco/0.65 con el clasificador caido se sirvieron en eco sin
410
+ * arbitro ninguno, porque 0.65 > 0.35.
411
+ * - La continuidad era un trinquete en la direccion equivocada: una vez
412
+ * que la sesion caia a eco, previous_tier la mantenia ahi. Asi un
413
+ * turno de gate=eco/0.30 -- donde el gate practicamente no tenia
414
+ * opinion -- se quedo en eco porque el anterior habia sido eco.
415
+ *
416
+ * La direccion correcta de un fail-safe es la segura, no la barata. Una
417
+ * decision que no se pudo verificar se resuelve del lado en que un error
418
+ * cuesta plata y no calidad. */
370
419
  let tier = cls.tier;
371
- let fellBackToDefault = false;
372
- if (cls.verdict === null && gate.confidence <= 0.35) {
373
- const fallbackTier = ctx.previous_tier ?? cfg.chat_default_tier;
374
- if (tier !== fallbackTier) {
375
- tier = fallbackTier;
376
- fellBackToDefault = true;
377
- telemetry.classifier_signals = [
378
- ...(telemetry.classifier_signals ?? []),
379
- 'classifier_down_fallback[' +
380
- (ctx.previous_tier ? 'previous_tier' : 'default_tier') + '=' + fallbackTier + ']',
381
- ];
382
- }
383
- }
420
+ let classifierFailed = false;
421
+ let classifierFailReason = '';
422
+ if (cls.verdict === null) {
423
+ classifierFailed = true;
424
+ const sigs = (cls.signals ?? []).concat(telemetry.classifier_signals ?? []);
425
+ classifierFailReason =
426
+ sigs.find((x) => String(x).startsWith('classifier_provider_unsupported')) ? 'provider_unsupported'
427
+ : sigs.find((x) => String(x).startsWith('classifier_no_api_key')) ? 'no_api_key'
428
+ : sigs.find((x) => String(x).startsWith('classifier_unreachable')) ? 'unreachable'
429
+ : 'sin_veredicto';
430
+ tier = 'frontier';
431
+ telemetry.classifier_signals = [
432
+ ...(telemetry.classifier_signals ?? []),
433
+ 'classifier_failed_to_frontier[' + classifierFailReason + ']',
434
+ ];
435
+ }
436
+ telemetry.classifier_failed = classifierFailed;
437
+ if (classifierFailed)
438
+ telemetry.classifier_fail_reason = classifierFailReason;
439
+ const fellBackToDefault = false;
384
440
  return {
385
441
  tier,
386
442
  reason: 'smart-auto -> ' + tier +
@@ -660,6 +716,14 @@ export async function selectBrainForTurn(ctx = {}) {
660
716
  };
661
717
  if (smartTelemetry) {
662
718
  logEntry.smart_auto = smartTelemetry;
719
+ /* El fallo del clasificador viaja en la seleccion, no solo al log: el
720
+ * panel tiene que poder avisarlo en el turno en que paso. */
721
+ if (smartTelemetry.classifier_failed) {
722
+ sel.classifier_failed = true;
723
+ if (smartTelemetry.classifier_fail_reason) {
724
+ sel.classifier_fail_reason = smartTelemetry.classifier_fail_reason;
725
+ }
726
+ }
663
727
  }
664
728
  await logDecision(logEntry);
665
729
  return sel;
@@ -1 +1 @@
1
- {"version":3,"file":"cost_router.js","sourceRoot":"","sources":["../../src/core/cost_router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost_router.js","sourceRoot":"","sources":["../../src/core/cost_router.ts"],"names":[],"mappings":"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"}
@@ -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;KAChE,GAAG,IAAI;IA2BR,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"}
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":"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"}
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.13.0";
5
+ export declare const VERSION = "1.15.0";
6
6
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js 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 const VERSION = '1.13.0';
5
+ export const VERSION = '1.15.0';
6
6
  //# sourceMappingURL=version.js.map