@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.
- package/dist/bin/heap_bootstrap.d.ts +34 -0
- package/dist/bin/heap_bootstrap.d.ts.map +1 -0
- package/dist/bin/heap_bootstrap.js +134 -0
- package/dist/bin/heap_bootstrap.js.map +1 -0
- package/dist/bin/yf.js +30 -21
- package/dist/bin/yf.js.map +1 -1
- package/dist/chat/claude.d.ts +12 -0
- package/dist/chat/claude.d.ts.map +1 -1
- package/dist/chat/claude.js +39 -1
- package/dist/chat/claude.js.map +1 -1
- package/dist/chat/claude_cli.d.ts +5 -0
- package/dist/chat/claude_cli.d.ts.map +1 -1
- package/dist/chat/claude_cli.js +106 -5
- package/dist/chat/claude_cli.js.map +1 -1
- package/dist/chat/graph_auto_ingest.d.ts +3 -0
- package/dist/chat/graph_auto_ingest.d.ts.map +1 -1
- package/dist/chat/graph_auto_ingest.js +18 -0
- package/dist/chat/graph_auto_ingest.js.map +1 -1
- package/dist/chat/graph_component_watcher.d.ts +41 -0
- package/dist/chat/graph_component_watcher.d.ts.map +1 -1
- package/dist/chat/graph_component_watcher.js +144 -2
- package/dist/chat/graph_component_watcher.js.map +1 -1
- package/dist/chat/graph_snapshot.d.ts +8 -0
- package/dist/chat/graph_snapshot.d.ts.map +1 -1
- package/dist/chat/graph_snapshot.js +142 -44
- package/dist/chat/graph_snapshot.js.map +1 -1
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +12842 -12719
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/persistence.d.ts.map +1 -1
- package/dist/chat/persistence.js +18 -8
- package/dist/chat/persistence.js.map +1 -1
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +81 -10
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/session_store.d.ts +13 -0
- package/dist/chat/session_store.d.ts.map +1 -1
- package/dist/chat/session_store.js +36 -1
- package/dist/chat/session_store.js.map +1 -1
- package/dist/chat/turn_steering.d.ts +87 -0
- package/dist/chat/turn_steering.d.ts.map +1 -0
- package/dist/chat/turn_steering.js +120 -0
- package/dist/chat/turn_steering.js.map +1 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +59 -0
- package/dist/commands/chat.js.map +1 -1
- package/dist/core/brain_behaviour.d.ts.map +1 -1
- package/dist/core/brain_behaviour.js +8 -1
- package/dist/core/brain_behaviour.js.map +1 -1
- package/dist/core/brain_config.d.ts +23 -0
- package/dist/core/brain_config.d.ts.map +1 -1
- package/dist/core/brain_config.js +33 -0
- package/dist/core/brain_config.js.map +1 -1
- package/dist/core/federation_config.js +1 -1
- package/dist/core/federation_config.js.map +1 -1
- package/dist/core/heap_watch.d.ts +33 -0
- package/dist/core/heap_watch.d.ts.map +1 -0
- package/dist/core/heap_watch.js +82 -0
- package/dist/core/heap_watch.js.map +1 -0
- package/dist/core/keys_envelope.d.ts +1 -1
- package/dist/core/keys_envelope.d.ts.map +1 -1
- package/dist/core/keys_envelope.js.map +1 -1
- package/dist/core/provider_models.d.ts +5 -0
- package/dist/core/provider_models.d.ts.map +1 -1
- package/dist/core/provider_models.js +17 -4
- package/dist/core/provider_models.js.map +1 -1
- package/dist/lan/announce.d.ts +53 -0
- package/dist/lan/announce.d.ts.map +1 -0
- package/dist/lan/announce.js +111 -0
- package/dist/lan/announce.js.map +1 -0
- package/dist/llm/cohere_client.d.ts.map +1 -1
- package/dist/llm/cohere_client.js +13 -3
- package/dist/llm/cohere_client.js.map +1 -1
- package/dist/llm/context_compaction.d.ts +25 -0
- package/dist/llm/context_compaction.d.ts.map +1 -1
- package/dist/llm/context_compaction.js +81 -13
- package/dist/llm/context_compaction.js.map +1 -1
- package/dist/llm/deepseek_client.d.ts +10 -3
- package/dist/llm/deepseek_client.d.ts.map +1 -1
- package/dist/llm/deepseek_client.js +12 -2
- package/dist/llm/deepseek_client.js.map +1 -1
- package/dist/llm/gemini_client.d.ts.map +1 -1
- package/dist/llm/gemini_client.js +0 -0
- package/dist/llm/gemini_client.js.map +1 -1
- package/dist/llm/mistral_client.d.ts.map +1 -1
- package/dist/llm/mistral_client.js +13 -3
- package/dist/llm/mistral_client.js.map +1 -1
- package/dist/llm/ollama_client.d.ts.map +1 -1
- package/dist/llm/ollama_client.js +13 -3
- package/dist/llm/ollama_client.js.map +1 -1
- package/dist/llm/openai_client.d.ts.map +1 -1
- package/dist/llm/openai_client.js +13 -3
- package/dist/llm/openai_client.js.map +1 -1
- package/dist/llm/xai_client.d.ts.map +1 -1
- package/dist/llm/xai_client.js +13 -3
- package/dist/llm/xai_client.js.map +1 -1
- package/dist/qa/brain_matrix/brains.json +80 -80
- package/dist/semantic_graph/store.d.ts.map +1 -1
- package/dist/semantic_graph/store.js +119 -88
- package/dist/semantic_graph/store.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- 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;
|
|
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;
|
|
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,
|
|
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"}
|
package/dist/commands/chat.js
CHANGED
|
@@ -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":"AASA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAwC1D;;;;;iEAKiE;AACjE,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD;uEACmE;IACnE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC;YAAE,OAAO;IAC/C,CAAC;IACD,+DAA+D;IAC/D,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAyB;IACpD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,CAAC,4DAA4D,CAAC;YAC9D,CAAC,kEAAkE,CAAC;YACpE,CAAC,mEAAmE,CAAC;YACrE,CAAC,6DAA6D,CAAC;SAChE,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO;YACL,CAAC,8DAA8D,CAAC;YAChE,CAAC,gEAAgE,CAAC;SACnE,CAAC;IACJ,CAAC;IACD;wDACoD;IACpD,OAAO;QACL,CAAC,eAAe,CAAC;QACjB,CAAC,sBAAsB,CAAC;QACxB,CAAC,UAAU,CAAC;QACZ,CAAC,kBAAkB,CAAC;QACpB,CAAC,gBAAgB,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,UAAoB,EAAE,GAAW;IAChE;kEAC8D;IAC9D,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG;YACX,GAAG,UAAU;YACb,QAAQ,GAAG,GAAG;YACd,gBAAgB;YAChB,4BAA4B;SAC7B,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACrG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAiB,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,QAAyB,EAAE,GAAW;IAC1D,IAAI,GAAW,CAAC;IAChB,IAAI,IAAc,CAAC;IACnB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,GAAG,GAAG,KAAK,CAAC;QACZ,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,GAAG,GAAG,MAAM,CAAC;QACb,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,UAAU,CAAC;QACjB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACrG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAiB,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAiB,EAAE,WAAmB;IACpE;yEACqE;IACrE,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;QACzF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,eAAe,CAAC;YAC9B,WAAW;YACX,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;YACvB;;wEAE4D;YAC5D,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACrE,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI;YACJ,MAAM;YACN,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7E,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC1D,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,YAAY,EAAE,8EAA8E,CAAC;SACpG,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;SAC9E,MAAM,CAAC,cAAc,EAAO,2CAA2C,CAAC;SACxE,MAAM,CAAC,WAAW,EAAU,uEAAuE,CAAC;SACpG,MAAM,CAAC,SAAS,EAAY,kHAAkH,CAAC;SAC/I,MAAM,CAAC,mBAAmB,EAAE,6JAA6J,CAAC;SAC1L,MAAM,CAAC,6BAA6B,EAAE,mHAAmH,CAAC;SAC1J,MAAM,CAAC,SAAS,EAAE,6GAA6G,CAAC;SAChI,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,iBAAiB,EAAE,sEAAsE,CAAC;SACjG,MAAM,CAAC,uBAAuB,EAAE,qDAAqD,CAAC;SACtF,MAAM,CAAC,qBAAqB,EAAE,8DAA8D,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SACrH,MAAM,CAAC,KAAK,EAAE,IAAiB,EAAE,EAAE;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEtE;;qEAE6D;QAC7D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB;;;qFAG6E;QAC7E,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACnF,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAC;YAC1G,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACrE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;QAChC;;;;;0EAKkE;QAClE;;;;;;gFAMwE;QACxE,KAAK,GAAG,CAAC;QACT,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,eAAe;gBACnE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;YAC1E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAAC,QAAQ,GAAG,IAAI,CAAC;oBAAC,MAAM;gBAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBACpE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;gBACnC,IAAI,EAAE,CAAC,cAAc,KAAK,MAAM;oBAAE,QAAQ,GAAG,IAAI,CAAC;qBAC7C,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,eAAe,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,eAAe;oBAAE,QAAQ,GAAG,IAAI,CAAC;YAC9G,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,mDAAmD,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBACpE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;gBACnC,IAAI,CAAC,EAAE,CAAC,gBAAgB;oBAAE,SAAS,GAAG,IAAI,CAAC;YAC7C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,SAAS,GAAG,IAAI,CAAC;YAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAC/B,MAAM,SAAS,GAMX,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK;YAAE,SAAS,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACpD,IAAI,IAAI,CAAC,QAAQ;YAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1D;;4DAEoD;QACpD,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBACpE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;gBACnC,IAAI,EAAE,CAAC,cAAc,KAAK,MAAM;oBAAK,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAC;gBAChF,IAAI,EAAE,CAAC,cAAc,KAAK,SAAS;oBAAE,SAAS,CAAC,YAAY,GAAG,eAAe,CAAC;YAChF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;QACD;;sEAE8D;QAC9D,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;gBACpE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;gBACnC,IAAI,EAAE,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;oBACrC,SAAS,CAAC,YAAY,GAAG,iBAAiB,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe;iBACjD,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACnF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED;;;+DAGuD;QACvD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9D;+CACuC;QACvC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB;;mDAE2C;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACvD,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,kDAAkD;YAClD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;YAC/D;;;;gEAIoD;YACpD,IAAI,CAAC;gBAAC,WAAW,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC;gBAAC,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAChE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAG,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAG,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElD;;;;;iEAKyD;QACzD;;;;0EAIkE;QAClE,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAc,EAAQ,EAAE;YACzD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACzE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBACzE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBACnI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,WAAW,CAAC,SAAS,EAAE,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAE9D,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtF,IAAI,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,+CAA+C,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YACnG,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;YACtC,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1E,IAAI,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,8CAA8C,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YAClG,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH;;;;0CAIkC;QAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B;;;;;uEAK+D;QAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC;QACxB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,CAAC;YACpC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,kCAAkC,GAAG,IAAI,GAAG,kCAAkC,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC7H,WAAW,CAAC,oBAAoB,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,oCAAoC,CAAC;gBACvG,IAAI,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;gBACpE,WAAW,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,IAAI,OAAQ,UAAqC,CAAC,KAAK,KAAK,UAAU;YAAG,UAAoC,CAAC,KAAK,EAAE,CAAC;QAEtH;;;2CAGmC;QACnC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,IAAI,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI;sBACrD,yEAAyE,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YAClG,WAAW,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YACvE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH;;;;;;2DAMmD;QACnD,WAAW,CAAC,GAAG,EAAE,GAAkC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAA6C,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
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;
|
|
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:
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AA4BzB;;gEAEgE;AAChE,MAAM,UAAU,cAAc,CAAC,QAAuB,EAAE,KAAa;IACnE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW,CAAC,CAAM,OAAO,OAAO,CAAC,CAAG,8BAA8B;QACvE,KAAK,WAAW,CAAC,CAAM,OAAO,OAAO,CAAC,CAAG,kCAAkC;QAC3E,KAAK,eAAe,CAAC,CAAE,OAAO,OAAO,CAAC,CAAG,qCAAqC;QAC9E,KAAK,QAAQ;YACX,oEAAoE;YACpE,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D;YACE,gEAAgE;YAChE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,KAAK,GAAmB;IAC5B,UAAU,EAAE,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"brain_behaviour.js","sourceRoot":"","sources":["../../src/core/brain_behaviour.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AA4BzB;;gEAEgE;AAChE,MAAM,UAAU,cAAc,CAAC,QAAuB,EAAE,KAAa;IACnE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACtC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW,CAAC,CAAM,OAAO,OAAO,CAAC,CAAG,8BAA8B;QACvE,KAAK,WAAW,CAAC,CAAM,OAAO,OAAO,CAAC,CAAG,kCAAkC;QAC3E,KAAK,eAAe,CAAC,CAAE,OAAO,OAAO,CAAC,CAAG,qCAAqC;QAC9E,KAAK,QAAQ;YACX,oEAAoE;YACpE,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D;YACE,gEAAgE;YAChE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;;;6EAM6E;AAC7E,MAAM,KAAK,GAAmB;IAC5B,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE;IACrF,qBAAqB,EAAE,SAAS;IAChC,gBAAgB,EAAE,MAAM;CACzB,CAAC;AACF,MAAM,MAAM,GAAmB;IAC7B,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE;IACnF,qBAAqB,EAAE,OAAO;IAC9B,gBAAgB,EAAE,MAAM;CACzB,CAAC;AAEF,SAAS,KAAK,CAAC,CAAiB;IAC9B,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACnI,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,QAAuB,EAAE,KAAa;IACxE,OAAO,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC;AAeD,SAAS,UAAU;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa;WACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;QACvD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACrF,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAqD,EAAE,CAAC;QAClF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;IACrD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,CAA0B;IAC3E,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU,EAAE,EAAU,EAAE,EAAU,EAAE,IAAY;IAChE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAAC,IAAoB,EAAE,EAAoC;IACvF,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC;IACpB,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAC/F,IAAI,EAAE,CAAC,UAAU,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACzD,GAAG,CAAC,UAAU,CAAC,wBAAwB,GAAG,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAC/I,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACrD,GAAG,CAAC,UAAU,CAAC,oBAAoB,GAAG,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACnI,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC3C,GAAG,CAAC,qBAAqB,GAAG,QAAQ,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,EAAE,CAAC,gBAAgB,KAAK,MAAM,IAAI,EAAE,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;QACrE,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;4CAC4C;AAC5C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAuB,EAAE,KAAa;IAChF,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,MAAM,2BAA2B,EAAE,CAAC;IAC/C,OAAO,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -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
|