@nac3/forge-cli 1.4.0 → 1.7.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.
Files changed (103) hide show
  1. package/dist/bin/heap_bootstrap.d.ts +34 -0
  2. package/dist/bin/heap_bootstrap.d.ts.map +1 -0
  3. package/dist/bin/heap_bootstrap.js +134 -0
  4. package/dist/bin/heap_bootstrap.js.map +1 -0
  5. package/dist/bin/yf.js +30 -21
  6. package/dist/bin/yf.js.map +1 -1
  7. package/dist/chat/claude.d.ts +12 -0
  8. package/dist/chat/claude.d.ts.map +1 -1
  9. package/dist/chat/claude.js +39 -1
  10. package/dist/chat/claude.js.map +1 -1
  11. package/dist/chat/claude_cli.d.ts +5 -0
  12. package/dist/chat/claude_cli.d.ts.map +1 -1
  13. package/dist/chat/claude_cli.js +106 -5
  14. package/dist/chat/claude_cli.js.map +1 -1
  15. package/dist/chat/graph_auto_ingest.d.ts +3 -0
  16. package/dist/chat/graph_auto_ingest.d.ts.map +1 -1
  17. package/dist/chat/graph_auto_ingest.js +18 -0
  18. package/dist/chat/graph_auto_ingest.js.map +1 -1
  19. package/dist/chat/graph_component_watcher.d.ts +41 -0
  20. package/dist/chat/graph_component_watcher.d.ts.map +1 -1
  21. package/dist/chat/graph_component_watcher.js +144 -2
  22. package/dist/chat/graph_component_watcher.js.map +1 -1
  23. package/dist/chat/graph_snapshot.d.ts +8 -0
  24. package/dist/chat/graph_snapshot.d.ts.map +1 -1
  25. package/dist/chat/graph_snapshot.js +142 -44
  26. package/dist/chat/graph_snapshot.js.map +1 -1
  27. package/dist/chat/panel.d.ts.map +1 -1
  28. package/dist/chat/panel.js +12842 -12719
  29. package/dist/chat/panel.js.map +1 -1
  30. package/dist/chat/persistence.d.ts.map +1 -1
  31. package/dist/chat/persistence.js +18 -8
  32. package/dist/chat/persistence.js.map +1 -1
  33. package/dist/chat/server.d.ts.map +1 -1
  34. package/dist/chat/server.js +81 -10
  35. package/dist/chat/server.js.map +1 -1
  36. package/dist/chat/session_store.d.ts +13 -0
  37. package/dist/chat/session_store.d.ts.map +1 -1
  38. package/dist/chat/session_store.js +36 -1
  39. package/dist/chat/session_store.js.map +1 -1
  40. package/dist/chat/turn_steering.d.ts +87 -0
  41. package/dist/chat/turn_steering.d.ts.map +1 -0
  42. package/dist/chat/turn_steering.js +120 -0
  43. package/dist/chat/turn_steering.js.map +1 -0
  44. package/dist/commands/chat.d.ts.map +1 -1
  45. package/dist/commands/chat.js +59 -0
  46. package/dist/commands/chat.js.map +1 -1
  47. package/dist/core/brain_behaviour.d.ts.map +1 -1
  48. package/dist/core/brain_behaviour.js +8 -1
  49. package/dist/core/brain_behaviour.js.map +1 -1
  50. package/dist/core/brain_config.d.ts +23 -0
  51. package/dist/core/brain_config.d.ts.map +1 -1
  52. package/dist/core/brain_config.js +33 -0
  53. package/dist/core/brain_config.js.map +1 -1
  54. package/dist/core/federation_config.js +1 -1
  55. package/dist/core/federation_config.js.map +1 -1
  56. package/dist/core/heap_watch.d.ts +33 -0
  57. package/dist/core/heap_watch.d.ts.map +1 -0
  58. package/dist/core/heap_watch.js +82 -0
  59. package/dist/core/heap_watch.js.map +1 -0
  60. package/dist/core/keys_envelope.d.ts +1 -1
  61. package/dist/core/keys_envelope.d.ts.map +1 -1
  62. package/dist/core/keys_envelope.js.map +1 -1
  63. package/dist/core/provider_models.d.ts +5 -0
  64. package/dist/core/provider_models.d.ts.map +1 -1
  65. package/dist/core/provider_models.js +17 -4
  66. package/dist/core/provider_models.js.map +1 -1
  67. package/dist/lan/announce.d.ts +53 -0
  68. package/dist/lan/announce.d.ts.map +1 -0
  69. package/dist/lan/announce.js +111 -0
  70. package/dist/lan/announce.js.map +1 -0
  71. package/dist/llm/cohere_client.d.ts.map +1 -1
  72. package/dist/llm/cohere_client.js +13 -3
  73. package/dist/llm/cohere_client.js.map +1 -1
  74. package/dist/llm/context_compaction.d.ts +25 -0
  75. package/dist/llm/context_compaction.d.ts.map +1 -1
  76. package/dist/llm/context_compaction.js +81 -13
  77. package/dist/llm/context_compaction.js.map +1 -1
  78. package/dist/llm/deepseek_client.d.ts +10 -3
  79. package/dist/llm/deepseek_client.d.ts.map +1 -1
  80. package/dist/llm/deepseek_client.js +12 -2
  81. package/dist/llm/deepseek_client.js.map +1 -1
  82. package/dist/llm/gemini_client.d.ts.map +1 -1
  83. package/dist/llm/gemini_client.js +0 -0
  84. package/dist/llm/gemini_client.js.map +1 -1
  85. package/dist/llm/mistral_client.d.ts.map +1 -1
  86. package/dist/llm/mistral_client.js +13 -3
  87. package/dist/llm/mistral_client.js.map +1 -1
  88. package/dist/llm/ollama_client.d.ts.map +1 -1
  89. package/dist/llm/ollama_client.js +13 -3
  90. package/dist/llm/ollama_client.js.map +1 -1
  91. package/dist/llm/openai_client.d.ts.map +1 -1
  92. package/dist/llm/openai_client.js +13 -3
  93. package/dist/llm/openai_client.js.map +1 -1
  94. package/dist/llm/xai_client.d.ts.map +1 -1
  95. package/dist/llm/xai_client.js +13 -3
  96. package/dist/llm/xai_client.js.map +1 -1
  97. package/dist/qa/brain_matrix/brains.json +80 -80
  98. package/dist/semantic_graph/store.d.ts.map +1 -1
  99. package/dist/semantic_graph/store.js +119 -88
  100. package/dist/semantic_graph/store.js.map +1 -1
  101. package/dist/version.d.ts +1 -1
  102. package/dist/version.js +1 -1
  103. package/package.json +18 -20
@@ -20,6 +20,19 @@
20
20
  */
21
21
  import { TranscriptStore } from './persistence.js';
22
22
  export declare const DEFAULT_SESSION_ID = "desktop-main";
23
+ /**
24
+ * H6 (2026-09-22) -- techo de sesiones vivas en memoria.
25
+ *
26
+ * Cada TranscriptStore retiene TODOS los mensajes de su hilo mientras el
27
+ * proceso viva, y el panel vive dias. Sin techo, cada `session_id` nuevo del
28
+ * celular (o de una sub-sesion) dejaba su historia en heap para siempre: una
29
+ * fuga lenta que suma al OOM. El limite es holgado -- nadie tiene 24 hilos
30
+ * paralelos -- y lo que se evicta ya esta en disco
31
+ * (`session-<id>.json`), asi que se reconstruye solo al volver a pedirlo.
32
+ */
33
+ export declare const MAX_LIVE_SESSIONS = 24;
34
+ /** Evicta las menos usadas hasta respetar el techo. Devuelve cuantas saco. */
35
+ export declare function evictColdSessions(max?: number): number;
23
36
  export declare function safeSessionId(id: string | undefined): string;
24
37
  /** Resolve the store for a session. The default session reuses
25
38
  * `defaultStore` (the server's main store -- unchanged behavior); any
@@ -1 +1 @@
1
- {"version":3,"file":"session_store.d.ts","sourceRoot":"","sources":["../../src/chat/session_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAIjD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG5D;AAED;;6CAE6C;AAC7C,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,EAAE,eAAe,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,eAAe,CAUjB;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAU5D;AAED,iBAAiB;AACjB,wBAAgB,mBAAmB,IAAI,IAAI,CAAqB"}
1
+ {"version":3,"file":"session_store.d.ts","sourceRoot":"","sources":["../../src/chat/session_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAWjD;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAA0B,GAAG,MAAM,CAWzE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG5D;AAED;;6CAE6C;AAC7C,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,EAAE,eAAe,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,eAAe,CAYjB;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAU5D;AAED,iBAAiB;AACjB,wBAAgB,mBAAmB,IAAI,IAAI,CAAkD"}
@@ -21,6 +21,39 @@
21
21
  import { TranscriptStore } from './persistence.js';
22
22
  export const DEFAULT_SESSION_ID = 'desktop-main';
23
23
  const _stores = new Map();
24
+ /** Orden de ultimo uso. Es un CONTADOR, no un reloj: Date.now() tiene
25
+ * resolucion de milisegundo y varios accesos en el mismo tick empatan, con
26
+ * lo cual el LRU degeneraba a orden de insercion y evictaba justo la que se
27
+ * acababa de usar. Un contador monotono tampoco se rompe si el reloj del
28
+ * sistema salta. */
29
+ const _touched = new Map();
30
+ let _tick = 0;
31
+ /**
32
+ * H6 (2026-09-22) -- techo de sesiones vivas en memoria.
33
+ *
34
+ * Cada TranscriptStore retiene TODOS los mensajes de su hilo mientras el
35
+ * proceso viva, y el panel vive dias. Sin techo, cada `session_id` nuevo del
36
+ * celular (o de una sub-sesion) dejaba su historia en heap para siempre: una
37
+ * fuga lenta que suma al OOM. El limite es holgado -- nadie tiene 24 hilos
38
+ * paralelos -- y lo que se evicta ya esta en disco
39
+ * (`session-<id>.json`), asi que se reconstruye solo al volver a pedirlo.
40
+ */
41
+ export const MAX_LIVE_SESSIONS = 24;
42
+ /** Evicta las menos usadas hasta respetar el techo. Devuelve cuantas saco. */
43
+ export function evictColdSessions(max = MAX_LIVE_SESSIONS) {
44
+ if (_stores.size <= max)
45
+ return 0;
46
+ const byAge = [...(_touched.entries())].sort((a, b) => a[1] - b[1]);
47
+ let evicted = 0;
48
+ for (const [key] of byAge) {
49
+ if (_stores.size <= max)
50
+ break;
51
+ _stores.delete(key);
52
+ _touched.delete(key);
53
+ evicted++;
54
+ }
55
+ return evicted;
56
+ }
24
57
  export function safeSessionId(id) {
25
58
  const s = String(id || DEFAULT_SESSION_ID).replace(/[^a-zA-Z0-9_.-]/g, '_').slice(0, 64);
26
59
  return s || DEFAULT_SESSION_ID;
@@ -38,6 +71,8 @@ export function getSessionStore(sessionId, defaultStore, projectRoot, version) {
38
71
  s = new TranscriptStore(projectRoot, version, 'session-' + id + '.json');
39
72
  _stores.set(key, s);
40
73
  }
74
+ _touched.set(key, ++_tick);
75
+ evictColdSessions();
41
76
  return s;
42
77
  }
43
78
  /** All known session ids for a project (default + any spun-up threads). */
@@ -54,5 +89,5 @@ export function listSessionIds(projectRoot) {
54
89
  return out;
55
90
  }
56
91
  /** Test hook. */
57
- export function _resetSessionStores() { _stores.clear(); }
92
+ export function _resetSessionStores() { _stores.clear(); _touched.clear(); _tick = 0; }
58
93
  //# sourceMappingURL=session_store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session_store.js","sourceRoot":"","sources":["../../src/chat/session_store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEnD,MAAM,UAAU,aAAa,CAAC,EAAsB;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,OAAO,CAAC,IAAI,kBAAkB,CAAC;AACjC,CAAC;AAED;;6CAE6C;AAC7C,MAAM,UAAU,eAAe,CAC7B,SAA6B,EAC7B,YAA6B,EAC7B,WAAmB,EACnB,OAAe;IAEf,MAAM,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,EAAE,KAAK,kBAAkB;QAAE,OAAO,YAAY,CAAC;IACnD,MAAM,GAAG,GAAG,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IACpC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,IAAI,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,kBAAkB;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,mBAAmB,KAAW,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"session_store.js","sourceRoot":"","sources":["../../src/chat/session_store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Turn steering -- incorporar un mensaje del usuario SIN esperar a que
3
+ * termine el turno (Pablo, 2026-09-29).
4
+ *
5
+ * Hasta ahora, si el usuario escribia con un turno en marcha, el mensaje
6
+ * quedaba encolado EN EL NAVEGADOR (`state.queue` del panel) y el servidor
7
+ * ni se enteraba: recien se mandaba cuando el turno anterior terminaba. Para
8
+ * corregir el rumbo a mitad de trabajo habia que apretar Detener y perder
9
+ * todo lo que venia despues.
10
+ *
11
+ * Este modulo es el buzon del medio. El panel deposita el texto mientras el
12
+ * turno corre; el turno lo retira en su proxima frontera de ronda y lo suma
13
+ * a la conversacion como un mensaje mas del usuario. Las dos rutas lo hacen
14
+ * en el punto que les corresponde:
15
+ *
16
+ * - Console / Anthropic API: `claude.ts` ya arma
17
+ * `messages.push({ role:'user', content: toolResultBlocks })` al cerrar
18
+ * cada ronda. La API acepta bloques tool_result y un bloque de texto en
19
+ * el mismo turno de usuario, asi que alcanza con sumar el bloque.
20
+ * - Plan / `claude -p`: el subproceso es dueno del loop, pero con
21
+ * `--input-format stream-json` acepta mensajes nuevos por stdin
22
+ * mientras trabaja. Verificado contra el binario 2.1.268: los archivos
23
+ * creados antes de la inyeccion salieron como decia el primer mensaje y
24
+ * los de despues como decia el segundo.
25
+ *
26
+ * Deliberadamente BEST-EFFORT: si el modelo estaba por responder sin llamar
27
+ * ninguna herramienta mas, no hay proxima frontera y el mensaje no se
28
+ * alcanza a incorporar. En ese caso el que lo deposito tiene que poder
29
+ * recuperarlo y mandarlo como turno nuevo, que es para lo que existe
30
+ * `reclaimSteers`.
31
+ *
32
+ * Todo el estado es del turno: `turnId` lo ata, y al terminar se limpia. Un
33
+ * mensaje depositado para un turno que ya murio nunca se cuela en el
34
+ * siguiente.
35
+ *
36
+ * Puro salvo por el singleton de modulo, para poder testear la logica sin
37
+ * levantar el server.
38
+ *
39
+ * ASCII-only.
40
+ */
41
+ export interface SteerItem {
42
+ text: string;
43
+ at: number;
44
+ }
45
+ /** Tope defensivo: si alguien pega quince mensajes durante un turno, se
46
+ * quedan los primeros y el resto vuelve por la via normal. Un turno con
47
+ * demasiadas correcciones simultaneas no se entiende ni humanamente. */
48
+ export declare const MAX_PENDING = 6;
49
+ /** Tope de texto por mensaje, para no inflar el turno sin control. */
50
+ export declare const MAX_TEXT = 4000;
51
+ /** Abre el buzon para un turno. Lo llama el server justo despues de
52
+ * `beginTurn`. Descarta cualquier buzon viejo. */
53
+ export declare function openSteering(turnId: string): void;
54
+ /** Cierra el buzon del turno y devuelve lo que quedo SIN entregar, para que
55
+ * el que lo deposito lo pueda mandar como turno nuevo. Si el id no es el
56
+ * del buzon abierto, no toca nada (un turno viejo que termina tarde no
57
+ * puede cerrar el buzon del nuevo). */
58
+ export declare function closeSteering(turnId: string): SteerItem[];
59
+ export interface QueueResult {
60
+ ok: boolean;
61
+ /** Por que no se acepto, cuando ok=false. */
62
+ reason?: 'no-active-turn' | 'empty' | 'full';
63
+ /** Cuantos quedan esperando entrega. */
64
+ pending?: number;
65
+ }
66
+ /** Deposita un mensaje para el turno en curso. */
67
+ export declare function queueSteer(turnId: string | null, text: string, now?: number): QueueResult;
68
+ /** Retira todo lo pendiente del turno. Lo llama el loop en su frontera de
69
+ * ronda. Vacia el buzon: lo retirado ya es parte de la conversacion. */
70
+ export declare function drainSteers(turnId: string): SteerItem[];
71
+ /** Cuantos hay esperando, sin retirarlos. */
72
+ export declare function pendingSteers(turnId: string | null): number;
73
+ /** Cuantos se entregaron en este turno. */
74
+ export declare function deliveredSteers(turnId: string | null): number;
75
+ /** El id del turno cuyo buzon esta abierto, o null. */
76
+ export declare function steeringTurnId(): string | null;
77
+ /**
78
+ * Da forma al texto que ve el modelo. No se inyecta el mensaje pelado: se
79
+ * lo enmarca para que el modelo entienda que lo dijo el humano DURANTE el
80
+ * trabajo y que es una correccion de rumbo, no un pedido nuevo que empieza
81
+ * de cero. Sin el marco, un "mejor en mayusculas" suelto entre resultados
82
+ * de herramienta se lee como ruido.
83
+ */
84
+ export declare function formatSteer(items: SteerItem[]): string;
85
+ /** Test hook. */
86
+ export declare function _resetSteering(): void;
87
+ //# sourceMappingURL=turn_steering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn_steering.d.ts","sourceRoot":"","sources":["../../src/chat/turn_steering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;yEAEyE;AACzE,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,sEAAsE;AACtE,eAAO,MAAM,QAAQ,OAAO,CAAC;AAW7B;mDACmD;AACnD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED;;;wCAGwC;AACxC,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAKzD;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,6CAA6C;IAC7C,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;IAC7C,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,WAAW,CAO7F;AAED;yEACyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAMvD;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG3D;AAED,2CAA2C;AAC3C,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG7D;AAED,uDAAuD;AACvD,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAOtD;AAED,iBAAiB;AACjB,wBAAgB,cAAc,IAAI,IAAI,CAAiB"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Turn steering -- incorporar un mensaje del usuario SIN esperar a que
3
+ * termine el turno (Pablo, 2026-09-29).
4
+ *
5
+ * Hasta ahora, si el usuario escribia con un turno en marcha, el mensaje
6
+ * quedaba encolado EN EL NAVEGADOR (`state.queue` del panel) y el servidor
7
+ * ni se enteraba: recien se mandaba cuando el turno anterior terminaba. Para
8
+ * corregir el rumbo a mitad de trabajo habia que apretar Detener y perder
9
+ * todo lo que venia despues.
10
+ *
11
+ * Este modulo es el buzon del medio. El panel deposita el texto mientras el
12
+ * turno corre; el turno lo retira en su proxima frontera de ronda y lo suma
13
+ * a la conversacion como un mensaje mas del usuario. Las dos rutas lo hacen
14
+ * en el punto que les corresponde:
15
+ *
16
+ * - Console / Anthropic API: `claude.ts` ya arma
17
+ * `messages.push({ role:'user', content: toolResultBlocks })` al cerrar
18
+ * cada ronda. La API acepta bloques tool_result y un bloque de texto en
19
+ * el mismo turno de usuario, asi que alcanza con sumar el bloque.
20
+ * - Plan / `claude -p`: el subproceso es dueno del loop, pero con
21
+ * `--input-format stream-json` acepta mensajes nuevos por stdin
22
+ * mientras trabaja. Verificado contra el binario 2.1.268: los archivos
23
+ * creados antes de la inyeccion salieron como decia el primer mensaje y
24
+ * los de despues como decia el segundo.
25
+ *
26
+ * Deliberadamente BEST-EFFORT: si el modelo estaba por responder sin llamar
27
+ * ninguna herramienta mas, no hay proxima frontera y el mensaje no se
28
+ * alcanza a incorporar. En ese caso el que lo deposito tiene que poder
29
+ * recuperarlo y mandarlo como turno nuevo, que es para lo que existe
30
+ * `reclaimSteers`.
31
+ *
32
+ * Todo el estado es del turno: `turnId` lo ata, y al terminar se limpia. Un
33
+ * mensaje depositado para un turno que ya murio nunca se cuela en el
34
+ * siguiente.
35
+ *
36
+ * Puro salvo por el singleton de modulo, para poder testear la logica sin
37
+ * levantar el server.
38
+ *
39
+ * ASCII-only.
40
+ */
41
+ /** Tope defensivo: si alguien pega quince mensajes durante un turno, se
42
+ * quedan los primeros y el resto vuelve por la via normal. Un turno con
43
+ * demasiadas correcciones simultaneas no se entiende ni humanamente. */
44
+ export const MAX_PENDING = 6;
45
+ /** Tope de texto por mensaje, para no inflar el turno sin control. */
46
+ export const MAX_TEXT = 4000;
47
+ let _box = null;
48
+ /** Abre el buzon para un turno. Lo llama el server justo despues de
49
+ * `beginTurn`. Descarta cualquier buzon viejo. */
50
+ export function openSteering(turnId) {
51
+ _box = { turnId, items: [], delivered: 0 };
52
+ }
53
+ /** Cierra el buzon del turno y devuelve lo que quedo SIN entregar, para que
54
+ * el que lo deposito lo pueda mandar como turno nuevo. Si el id no es el
55
+ * del buzon abierto, no toca nada (un turno viejo que termina tarde no
56
+ * puede cerrar el buzon del nuevo). */
57
+ export function closeSteering(turnId) {
58
+ if (!_box || _box.turnId !== turnId)
59
+ return [];
60
+ const sobrantes = _box.items;
61
+ _box = null;
62
+ return sobrantes;
63
+ }
64
+ /** Deposita un mensaje para el turno en curso. */
65
+ export function queueSteer(turnId, text, now = Date.now()) {
66
+ const t = String(text ?? '').trim().slice(0, MAX_TEXT);
67
+ if (!t)
68
+ return { ok: false, reason: 'empty' };
69
+ if (!_box || !turnId || _box.turnId !== turnId)
70
+ return { ok: false, reason: 'no-active-turn' };
71
+ if (_box.items.length >= MAX_PENDING)
72
+ return { ok: false, reason: 'full' };
73
+ _box.items.push({ text: t, at: now });
74
+ return { ok: true, pending: _box.items.length };
75
+ }
76
+ /** Retira todo lo pendiente del turno. Lo llama el loop en su frontera de
77
+ * ronda. Vacia el buzon: lo retirado ya es parte de la conversacion. */
78
+ export function drainSteers(turnId) {
79
+ if (!_box || _box.turnId !== turnId)
80
+ return [];
81
+ const out = _box.items;
82
+ _box.items = [];
83
+ _box.delivered += out.length;
84
+ return out;
85
+ }
86
+ /** Cuantos hay esperando, sin retirarlos. */
87
+ export function pendingSteers(turnId) {
88
+ if (!_box || !turnId || _box.turnId !== turnId)
89
+ return 0;
90
+ return _box.items.length;
91
+ }
92
+ /** Cuantos se entregaron en este turno. */
93
+ export function deliveredSteers(turnId) {
94
+ if (!_box || !turnId || _box.turnId !== turnId)
95
+ return 0;
96
+ return _box.delivered;
97
+ }
98
+ /** El id del turno cuyo buzon esta abierto, o null. */
99
+ export function steeringTurnId() {
100
+ return _box ? _box.turnId : null;
101
+ }
102
+ /**
103
+ * Da forma al texto que ve el modelo. No se inyecta el mensaje pelado: se
104
+ * lo enmarca para que el modelo entienda que lo dijo el humano DURANTE el
105
+ * trabajo y que es una correccion de rumbo, no un pedido nuevo que empieza
106
+ * de cero. Sin el marco, un "mejor en mayusculas" suelto entre resultados
107
+ * de herramienta se lee como ruido.
108
+ */
109
+ export function formatSteer(items) {
110
+ if (items.length === 0)
111
+ return '';
112
+ const cuerpo = items.map((i) => i.text).join('\n\n');
113
+ return '[El usuario escribio esto MIENTRAS trabajabas, sin esperar a que '
114
+ + 'termines. Tomalo como correccion de rumbo del trabajo en curso y '
115
+ + 'seguí desde donde estas; no reinicies la tarea salvo que lo pida.]\n\n'
116
+ + cuerpo;
117
+ }
118
+ /** Test hook. */
119
+ export function _resetSteering() { _box = null; }
120
+ //# sourceMappingURL=turn_steering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn_steering.js","sourceRoot":"","sources":["../../src/chat/turn_steering.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;iEAC6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;yDACqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;mBAIe;IACf,QAAQ,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC;IAC/C;;2BAEuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;gEAI4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsJD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyR1D"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;iEAC6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;yDACqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;mBAIe;IACf,QAAQ,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC;IAC/C;;2BAEuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;gEAI4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAsJD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2U1D"}
@@ -370,6 +370,10 @@ export function registerChatCommand(program) {
370
370
  logDiagSync('shutdown', 'signal=' + signal);
371
371
  }
372
372
  catch { /* */ }
373
+ try {
374
+ mdnsHandle?.stop();
375
+ }
376
+ catch { /* ya cerrado */ }
373
377
  try {
374
378
  await started.store.flush();
375
379
  }
@@ -402,6 +406,61 @@ export function registerChatCommand(program) {
402
406
  catch { /* a diag must never throw */ }
403
407
  };
404
408
  logDiagSync('startup', 'panel server up, pid=' + process.pid);
409
+ /* PND-086 -- anunciar el panel por mDNS (`_yujin-forge._tcp.local.`).
410
+ * El protocolo estaba implementado en src/lan/mdns_service.ts desde
411
+ * hacia meses pero no lo llamaba nadie fuera de los tests: la notebook
412
+ * NUNCA anunciaba, asi que el descubrimiento del celular no tenia a
413
+ * quien encontrar y caia siempre al polling manual. Best-effort: si
414
+ * falla (sin red, 5353 tomado por Bonjour/avahi), el panel sigue. */
415
+ let mdnsHandle = null;
416
+ try {
417
+ const { startPanelAnnouncer } = await import('../lan/announce.js');
418
+ mdnsHandle = await startPanelAnnouncer({
419
+ port,
420
+ projectSlug: (await import('../chat/project_slug.js')).resolveProjectSlugSync(projectRoot),
421
+ version: VERSION,
422
+ });
423
+ logDiagSync('mdns', mdnsHandle.active
424
+ ? 'anunciando _yujin-forge._tcp en :' + port
425
+ : 'sin anuncio -- ' + (mdnsHandle.reason ?? 'motivo desconocido'));
426
+ }
427
+ catch (err) {
428
+ logDiagSync('mdns', 'sin anuncio -- ' + (err instanceof Error ? err.message : String(err)));
429
+ }
430
+ /* T1 (2026-09-22) -- muestreo de heap. El watchdog veia stalls,
431
+ * excepciones y salidas, pero NO la memoria; y el OOM de V8 aborta sin
432
+ * disparar `exit`, asi que el crash no dejaba rastro (28 pids con
433
+ * startup y sin salida limpia en el diag, uno vivo 3 dias, ninguno
434
+ * diciendo por que murio). Ahora la ultima linea antes de un pid
435
+ * huerfano dice si venia subiendo -- y despues de acotar la retencion
436
+ * (H2/H3/H5/H6) sirve para VERIFICAR que la curva se aplana, en vez de
437
+ * confiar en "todavia no se cayo". */
438
+ try {
439
+ const { sampleHeap, makeHeapReporter } = await import('../core/heap_watch.js');
440
+ const first = sampleHeap();
441
+ logDiagSync('heap', 'techo ' + first.limitMb + ' MB, al arranque '
442
+ + first.usedMb + ' MB'
443
+ + (process.env['YF_HEAP_BOOTSTRAPPED'] ? ' (relanzado con techo ampliado)' : ''));
444
+ const report = makeHeapReporter();
445
+ const heapTimer = setInterval(() => {
446
+ try {
447
+ const r = report(sampleHeap());
448
+ if (!r)
449
+ return;
450
+ logDiagSync(r.kind, r.detail);
451
+ if (r.band === 'critical') {
452
+ try {
453
+ console.error(c.warn('[yf] ' + r.detail));
454
+ }
455
+ catch { /* */ }
456
+ }
457
+ }
458
+ catch { /* un diagnostico nunca debe tumbar el panel */ }
459
+ }, 30000);
460
+ if (typeof heapTimer.unref === 'function')
461
+ heapTimer.unref();
462
+ }
463
+ catch { /* sin telemetria de heap, el panel sigue igual */ }
405
464
  process.on('unhandledRejection', (reason) => {
406
465
  const s = reason instanceof Error ? (reason.stack || reason.message) : String(reason);
407
466
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"brain_behaviour.d.ts","sourceRoot":"","sources":["../../src/core/brain_behaviour.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB;mDAC+C;IAC/C,wBAAwB,EAAE,MAAM,CAAC;IACjC;0CACsC;IACtC,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B;6CACyC;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;gEAE4D;IAC5D,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAED,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD;;gEAEgE;AAChE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAarF;AAiBD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAE1F;AAID,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAQD,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CASpF;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5F;AAOD,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,oBAAoB,GAAG,SAAS,GAAG,cAAc,CAmBzG;AAED;4CAC4C;AAC5C,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAI3G"}
1
+ {"version":3,"file":"brain_behaviour.d.ts","sourceRoot":"","sources":["../../src/core/brain_behaviour.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB;mDAC+C;IAC/C,wBAAwB,EAAE,MAAM,CAAC;IACjC;0CACsC;IACtC,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B;6CACyC;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;gEAE4D;IAC5D,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAED,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD;;gEAEgE;AAChE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAarF;AAwBD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAE1F;AAID,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAQD,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CASpF;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5F;AAOD,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,oBAAoB,GAAG,SAAS,GAAG,cAAc,CAmBzG;AAED;4CAC4C;AAC5C,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAI3G"}
@@ -37,8 +37,15 @@ export function capabilityTier(provider, model) {
37
37
  return 'medium';
38
38
  }
39
39
  }
40
+ /* 2026-09-22 -- LARGE tenia `enabled: false`, o sea RETENCION ILIMITADA.
41
+ * Ese default confundia dos cosas independientes: que el MODELO acepte 200K
42
+ * de contexto no implica que el PROCESO pueda sostenerlo. El heap de V8 en
43
+ * una maquina de 12 GB topa en ~2 GB, y una sesion larga de la ruta Console
44
+ * lo agotaba (FATAL ERROR: JavaScript heap out of memory).
45
+ * Ahora compacta, pero tarde y poco: 40 resultados completos en ventana y
46
+ * recien a partir de la ronda 30, asi un turno normal nunca la ve actuar. */
40
47
  const LARGE = {
41
- compaction: { enabled: false, keep_recent_tool_results: 40, trigger_after_rounds: 30 },
48
+ compaction: { enabled: true, keep_recent_tool_results: 40, trigger_after_rounds: 30 },
42
49
  tool_result_max_bytes: 1_000_000,
43
50
  tool_result_mode: 'head',
44
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"brain_behaviour.js","sourceRoot":"","sources":["../../src/core/brain_behaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brain_behaviour.js","sourceRoot":"","sources":["../../src/core/brain_behaviour.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,29 @@
2
2
  * (byok_<provider>_api_key). */
3
3
  export type BrainProvider = 'anthropic' | 'openai' | 'google_ai' | 'deepseek' | 'xai' | 'mistral' | 'cohere' | 'qwen' | 'zai' | 'ollama' | 'yujin_managed' | 'federation';
4
4
  export declare const ALL_BRAIN_PROVIDERS: readonly BrainProvider[];
5
+ /**
6
+ * Los cerebros que Forge OFRECE para trabajar (2026-09-22).
7
+ *
8
+ * Decision de producto de Pablo: para coding solo tienen sentido estos
9
+ * cuatro. El resto se probo y no sirve para Forge -- sirve para
10
+ * experimentar y para reproducir el benchmark de cerebros baratos, no para
11
+ * que alguien lo elija como cerebro diario y se coma un modelo retirado o
12
+ * un cliente que nadie mantiene.
13
+ *
14
+ * Requisito que define la lista: los cuatro tienen **listado vivo** de
15
+ * modelos contra el API del proveedor (ver `listProviderModels`), asi que
16
+ * su catalogo no puede quedar viejo. Eso es justamente lo que le fallo a
17
+ * DeepSeek en septiembre y lo que xai/mistral/cohere tienen latente: sin
18
+ * listado vivo, el default del wizard apunta a ids retirados.
19
+ *
20
+ * ALL_BRAIN_PROVIDERS sigue siendo el catalogo COMPLETO y no se toca: las
21
+ * slots del vault, el cost router y una brain_config ya guardada tienen que
22
+ * seguir funcionando. Lo que cambia es que hay que pedirlos a proposito.
23
+ */
24
+ export declare const DAILY_BRAIN_PROVIDERS: readonly BrainProvider[];
25
+ /** Escape para experimentacion / benchmark: con `YF_ALL_BRAINS=1` la UI
26
+ * vuelve a ofrecer el catalogo completo. */
27
+ export declare function offeredBrainProviders(env?: Record<string, string | undefined>, activeProviders?: readonly string[]): readonly BrainProvider[];
5
28
  /** Vault slot name a given provider stores its key under. The
6
29
  * yujin_managed virtual provider has no client-side key (the
7
30
  * worker holds the real provider key); the secret needed for
@@ -1 +1 @@
1
- {"version":3,"file":"brain_config.d.ts","sourceRoot":"","sources":["../../src/core/brain_config.ts"],"names":[],"mappings":"AA+BA;iCACiC;AACjC,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,QAAQ,GACR,WAAW,GACX,UAAU,GACV,KAAK,GACL,SAAS,GACT,QAAQ,GAKR,MAAM,GACN,KAAK,GAKL,QAAQ,GAMR,eAAe,GAMf,YAAY,CAAC;AAEjB,eAAO,MAAM,mBAAmB,EAAE,SAAS,aAAa,EAMvD,CAAC;AAEF;;;;;oDAKoD;AACpD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAmB7D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB;;;;;;oCAMgC;IAChC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB;oCACgC;IAChC,iBAAiB,EAAE,KAAK,GAAG,UAAU,CAAC;IACtC;;;2DAGuD;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;+CAK2C;IAC3C,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;4CAGwC;IACxC,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;2DAKuD;IACvD,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,kBAAkB,IAAI,WAAW,CAShD;AA0BD,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAeD,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CA+B5D;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;AAED,gDAAgD;AAChD,wBAAsB,cAAc,CAClC,IAAI,EAAE,KAAK,GAAG,UAAU,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CAKtB;AAED,gFAAgF;AAChF,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAKvG;AAED,oFAAoF;AACpF,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,WAAW,CAAC,CAKnE;AAED,mEAAmE;AACnE,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAKvF;AAED,iCAAiC;AACjC,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC,CAI7D"}
1
+ {"version":3,"file":"brain_config.d.ts","sourceRoot":"","sources":["../../src/core/brain_config.ts"],"names":[],"mappings":"AA+BA;iCACiC;AACjC,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,QAAQ,GACR,WAAW,GACX,UAAU,GACV,KAAK,GACL,SAAS,GACT,QAAQ,GAKR,MAAM,GACN,KAAK,GAKL,QAAQ,GAMR,eAAe,GAMf,YAAY,CAAC;AAEjB,eAAO,MAAM,mBAAmB,EAAE,SAAS,aAAa,EAMvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,aAAa,EAEzD,CAAC;AAEF;6CAC6C;AAC7C,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,eAAe,GAAE,SAAS,MAAM,EAAO,GACtC,SAAS,aAAa,EAAE,CAS1B;AAED;;;;;oDAKoD;AACpD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAmB7D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB;;;;;;oCAMgC;IAChC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB;oCACgC;IAChC,iBAAiB,EAAE,KAAK,GAAG,UAAU,CAAC;IACtC;;;2DAGuD;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;+CAK2C;IAC3C,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;4CAGwC;IACxC,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;2DAKuD;IACvD,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,kBAAkB,IAAI,WAAW,CAShD;AA0BD,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAeD,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CA+B5D;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;AAED,gDAAgD;AAChD,wBAAsB,cAAc,CAClC,IAAI,EAAE,KAAK,GAAG,UAAU,EACxB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CAKtB;AAED,gFAAgF;AAChF,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAKvG;AAED,oFAAoF;AACpF,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,WAAW,CAAC,CAKnE;AAED,mEAAmE;AACnE,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAKvF;AAED,iCAAiC;AACjC,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC,CAI7D"}
@@ -35,6 +35,39 @@ export const ALL_BRAIN_PROVIDERS = [
35
35
  'yujin_managed',
36
36
  'federation',
37
37
  ];
38
+ /**
39
+ * Los cerebros que Forge OFRECE para trabajar (2026-09-22).
40
+ *
41
+ * Decision de producto de Pablo: para coding solo tienen sentido estos
42
+ * cuatro. El resto se probo y no sirve para Forge -- sirve para
43
+ * experimentar y para reproducir el benchmark de cerebros baratos, no para
44
+ * que alguien lo elija como cerebro diario y se coma un modelo retirado o
45
+ * un cliente que nadie mantiene.
46
+ *
47
+ * Requisito que define la lista: los cuatro tienen **listado vivo** de
48
+ * modelos contra el API del proveedor (ver `listProviderModels`), asi que
49
+ * su catalogo no puede quedar viejo. Eso es justamente lo que le fallo a
50
+ * DeepSeek en septiembre y lo que xai/mistral/cohere tienen latente: sin
51
+ * listado vivo, el default del wizard apunta a ids retirados.
52
+ *
53
+ * ALL_BRAIN_PROVIDERS sigue siendo el catalogo COMPLETO y no se toca: las
54
+ * slots del vault, el cost router y una brain_config ya guardada tienen que
55
+ * seguir funcionando. Lo que cambia es que hay que pedirlos a proposito.
56
+ */
57
+ export const DAILY_BRAIN_PROVIDERS = [
58
+ 'anthropic', 'openai', 'google_ai', 'deepseek',
59
+ ];
60
+ /** Escape para experimentacion / benchmark: con `YF_ALL_BRAINS=1` la UI
61
+ * vuelve a ofrecer el catalogo completo. */
62
+ export function offeredBrainProviders(env = process.env, activeProviders = []) {
63
+ if (env['YF_ALL_BRAINS'])
64
+ return ALL_BRAIN_PROVIDERS;
65
+ /* Un provider ya ELEGIDO se sigue ofreciendo aunque este retirado: de lo
66
+ * contrario el selector no podria mostrar lo que el usuario tiene puesto
67
+ * y un guardado accidental le cambiaria el cerebro por debajo. */
68
+ const extra = ALL_BRAIN_PROVIDERS.filter((p) => !DAILY_BRAIN_PROVIDERS.includes(p) && activeProviders.includes(p));
69
+ return [...DAILY_BRAIN_PROVIDERS, ...extra];
70
+ }
38
71
  /** Vault slot name a given provider stores its key under. The
39
72
  * yujin_managed virtual provider has no client-side key (the
40
73
  * worker holds the real provider key); the secret needed for