@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain_config.js","sourceRoot":"","sources":["../../src/core/brain_config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brain_config.js","sourceRoot":"","sources":["../../src/core/brain_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,7 +75,7 @@ export async function isFederationActive() {
|
|
|
75
75
|
return !!(cfg && cfg.active);
|
|
76
76
|
}
|
|
77
77
|
const DEFAULT_FEDERATION_HOST_BRAIN = {
|
|
78
|
-
provider: 'deepseek', model: 'deepseek-
|
|
78
|
+
provider: 'deepseek', model: 'deepseek-flash',
|
|
79
79
|
};
|
|
80
80
|
function hostBrainPath() {
|
|
81
81
|
const home = process.env.HOME || process.env.USERPROFILE || os.homedir();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation_config.js","sourceRoot":"","sources":["../../src/core/federation_config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"federation_config.js","sourceRoot":"","sources":["../../src/core/federation_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface HeapSample {
|
|
2
|
+
usedMb: number;
|
|
3
|
+
limitMb: number;
|
|
4
|
+
/** usado / limite, 0..1 */
|
|
5
|
+
ratio: number;
|
|
6
|
+
}
|
|
7
|
+
export type HeapBand = 'ok' | 'warn' | 'critical';
|
|
8
|
+
export interface HeapWatchOpts {
|
|
9
|
+
/** Arriba de esto se considera presion. Default 0.75. */
|
|
10
|
+
warnAt?: number;
|
|
11
|
+
/** Arriba de esto, presion critica. Default 0.90. */
|
|
12
|
+
criticalAt?: number;
|
|
13
|
+
/** Cada cuanto repetir el aviso mientras siga en la misma banda.
|
|
14
|
+
* Default 5 min. */
|
|
15
|
+
repeatMs?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface HeapReport {
|
|
18
|
+
kind: 'heap_pressure' | 'heap_recovered';
|
|
19
|
+
band: HeapBand;
|
|
20
|
+
detail: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function sampleHeap(stats?: {
|
|
23
|
+
heap_size_limit: number;
|
|
24
|
+
used_heap_size: number;
|
|
25
|
+
}): HeapSample;
|
|
26
|
+
export declare function bandFor(ratio: number, warnAt: number, criticalAt: number): HeapBand;
|
|
27
|
+
/**
|
|
28
|
+
* Crea el reportero. Devolve una funcion que recibe una muestra (y el
|
|
29
|
+
* "ahora", inyectable para tests) y devuelve la linea a loguear, o null
|
|
30
|
+
* cuando no hay nada que decir -- que es el caso normal.
|
|
31
|
+
*/
|
|
32
|
+
export declare function makeHeapReporter(opts?: HeapWatchOpts): (s: HeapSample, now?: number) => HeapReport | null;
|
|
33
|
+
//# sourceMappingURL=heap_watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heap_watch.d.ts","sourceRoot":"","sources":["../../src/core/heap_watch.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;yBACqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,eAAe,GAAG,gBAAgB,CAAC;IACzC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,KAAK,GAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAA2B,GAAG,UAAU,CAI1H;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAInF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,aAAkB,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAwC7G"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* heap_watch -- ver venir el OOM (T1, 2026-09-22).
|
|
3
|
+
*
|
|
4
|
+
* El watchdog del panel (`src/commands/chat.ts`) ya registra arranques,
|
|
5
|
+
* excepciones, stalls del event loop y salidas, pero NO mira la memoria. Y
|
|
6
|
+
* un `FATAL ERROR: JavaScript heap out of memory` aborta el proceso sin
|
|
7
|
+
* disparar `exit`, asi que el crash no deja NINGUN rastro: en
|
|
8
|
+
* `server_diag.jsonl` hay 28 pids con `startup` y sin salida limpia, uno de
|
|
9
|
+
* ellos vivo 3 dias, y ninguno dice por que murio.
|
|
10
|
+
*
|
|
11
|
+
* Esto muestrea el heap y escribe una linea cuando la presion cruza un
|
|
12
|
+
* umbral. Sirve para dos cosas distintas:
|
|
13
|
+
* - diagnostico *post mortem*: la ultima linea antes de un pid sin `exit`
|
|
14
|
+
* dice si venia subiendo;
|
|
15
|
+
* - verificacion: despues de acotar la retencion (H2/H3/H5/H6), la curva
|
|
16
|
+
* tiene que aplanarse. Sin esto el criterio de exito es "todavia no se
|
|
17
|
+
* cayo", que no es un criterio.
|
|
18
|
+
*
|
|
19
|
+
* Reglas: no spamea (una linea por cruce de banda, y despues a lo sumo una
|
|
20
|
+
* cada `repeatMs`), avisa cuando se recupera, y nunca tira.
|
|
21
|
+
*
|
|
22
|
+
* ASCII-only.
|
|
23
|
+
*/
|
|
24
|
+
import v8 from 'node:v8';
|
|
25
|
+
const MB = 1024 * 1024;
|
|
26
|
+
export function sampleHeap(stats = v8.getHeapStatistics()) {
|
|
27
|
+
const limitMb = Math.round(stats.heap_size_limit / MB);
|
|
28
|
+
const usedMb = Math.round(stats.used_heap_size / MB);
|
|
29
|
+
return { usedMb, limitMb, ratio: limitMb > 0 ? usedMb / limitMb : 0 };
|
|
30
|
+
}
|
|
31
|
+
export function bandFor(ratio, warnAt, criticalAt) {
|
|
32
|
+
if (ratio >= criticalAt)
|
|
33
|
+
return 'critical';
|
|
34
|
+
if (ratio >= warnAt)
|
|
35
|
+
return 'warn';
|
|
36
|
+
return 'ok';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Crea el reportero. Devolve una funcion que recibe una muestra (y el
|
|
40
|
+
* "ahora", inyectable para tests) y devuelve la linea a loguear, o null
|
|
41
|
+
* cuando no hay nada que decir -- que es el caso normal.
|
|
42
|
+
*/
|
|
43
|
+
export function makeHeapReporter(opts = {}) {
|
|
44
|
+
const warnAt = opts.warnAt ?? 0.75;
|
|
45
|
+
const criticalAt = opts.criticalAt ?? 0.90;
|
|
46
|
+
const repeatMs = opts.repeatMs ?? 300_000;
|
|
47
|
+
let band = 'ok';
|
|
48
|
+
let lastReportAt = 0;
|
|
49
|
+
/* Pico observado: lo interesante para el post mortem no es el valor del
|
|
50
|
+
* momento sino cuanto llego a subir. */
|
|
51
|
+
let peakMb = 0;
|
|
52
|
+
return (s, now = Date.now()) => {
|
|
53
|
+
if (s.usedMb > peakMb)
|
|
54
|
+
peakMb = s.usedMb;
|
|
55
|
+
const next = bandFor(s.ratio, warnAt, criticalAt);
|
|
56
|
+
const pct = Math.round(s.ratio * 100);
|
|
57
|
+
const where = s.usedMb + ' MB / ' + s.limitMb + ' MB (' + pct + '%), pico ' + peakMb + ' MB';
|
|
58
|
+
if (next === 'ok') {
|
|
59
|
+
if (band === 'ok')
|
|
60
|
+
return null;
|
|
61
|
+
band = 'ok';
|
|
62
|
+
lastReportAt = now;
|
|
63
|
+
return { kind: 'heap_recovered', band: 'ok', detail: 'heap normalizado -- ' + where };
|
|
64
|
+
}
|
|
65
|
+
const changed = next !== band;
|
|
66
|
+
const due = now - lastReportAt >= repeatMs;
|
|
67
|
+
if (!changed && !due)
|
|
68
|
+
return null;
|
|
69
|
+
band = next;
|
|
70
|
+
lastReportAt = now;
|
|
71
|
+
const label = next === 'critical'
|
|
72
|
+
? 'presion CRITICA de heap'
|
|
73
|
+
: 'presion de heap';
|
|
74
|
+
return {
|
|
75
|
+
kind: 'heap_pressure',
|
|
76
|
+
band: next,
|
|
77
|
+
detail: label + ' -- ' + where
|
|
78
|
+
+ (next === 'critical' ? ' -- a este ritmo el proceso muere sin dejar rastro (el OOM de V8 no dispara exit)' : ''),
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=heap_watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heap_watch.js","sourceRoot":"","sources":["../../src/core/heap_watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export interface ProviderKeysPlaintext {
|
|
|
27
27
|
google_ai_key?: string;
|
|
28
28
|
google_brain_model_preference?: 'gemini-2.5-pro' | 'gemini-2.5-flash';
|
|
29
29
|
deepseek_api_key?: string;
|
|
30
|
-
deepseek_model_preference?: 'deepseek-chat' | 'deepseek-reasoner';
|
|
30
|
+
deepseek_model_preference?: 'deepseek-flash' | 'deepseek-v4-pro' | 'deepseek-chat' | 'deepseek-reasoner';
|
|
31
31
|
google_stt_key?: string;
|
|
32
32
|
google_tts_key?: string;
|
|
33
33
|
elevenlabs_api_key?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys_envelope.d.ts","sourceRoot":"","sources":["../../src/core/keys_envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,CAAC,CAAC;IACL;;;8BAG0B;IAC1B,yBAAyB,CAAC,EAAE,aAAa,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,CAAC;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"keys_envelope.d.ts","sourceRoot":"","sources":["../../src/core/keys_envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE3E,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,CAAC,CAAC;IACL;;;8BAG0B;IAC1B,yBAAyB,CAAC,EAAE,aAAa,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,CAAC;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,yBAAyB,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,GAC5D,eAAe,GAAG,mBAAmB,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9C,uBAAuB,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,CAAC,CAAC;IACL,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAkCD,qBAAa,iBAAkB,SAAQ,KAAK;aACd,IAAI,EAAE,WAAW,GAAG,YAAY;gBAAhC,IAAI,EAAE,WAAW,GAAG,YAAY;CAG7D;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,qBAAqB,EAC9B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,CAAC,CAYvB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC,CA2BhC;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAKxD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAe3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys_envelope.js","sourceRoot":"","sources":["../../src/core/keys_envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAC9B,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAE9B;;;oEAGoE;AACpE,MAAM,YAAY,GAAG,OAAO,CAAC;AAC7B,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,aAAa;AACnC,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,WAAW,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"keys_envelope.js","sourceRoot":"","sources":["../../src/core/keys_envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,11 @@ export interface ModelListResult {
|
|
|
15
15
|
}
|
|
16
16
|
/** Test hook. */
|
|
17
17
|
export declare function _resetProviderModelsCache(): void;
|
|
18
|
+
/** Providers con listado VIVO contra el API del proveedor. Es la fuente del
|
|
19
|
+
* invariante que exige que todo cerebro ofrecido tenga uno (ver
|
|
20
|
+
* `DAILY_BRAIN_PROVIDERS`): sin listado vivo el catalogo se pudre en
|
|
21
|
+
* silencio y el wizard termina escribiendo un modelo retirado. */
|
|
22
|
+
export declare const PROVIDERS_WITH_LIVE_LISTING: readonly BrainProvider[];
|
|
18
23
|
/**
|
|
19
24
|
* Lista los modelos disponibles para un provider. Nunca lanza:
|
|
20
25
|
* degrada a la lista estatica con `source: 'static'`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider_models.d.ts","sourceRoot":"","sources":["../../src/core/provider_models.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB;sDACkD;IAClD,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B;2CACuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"provider_models.d.ts","sourceRoot":"","sources":["../../src/core/provider_models.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB;sDACkD;IAClD,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B;2CACuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA4DD,iBAAiB;AACjB,wBAAgB,yBAAyB,IAAI,IAAI,CAAoB;AAErE;;;mEAGmE;AACnE,eAAO,MAAM,2BAA2B,EAAE,SAAS,aAAa,EAE/D,CAAC;AAgFF;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,aAAa,EACvB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACnF,OAAO,CAAC,eAAe,CAAC,CA2C1B"}
|
|
@@ -35,8 +35,11 @@ const STATIC_MODELS = {
|
|
|
35
35
|
{ id: 'gpt-4o-mini', display_name: 'GPT-4o mini' },
|
|
36
36
|
],
|
|
37
37
|
deepseek: [
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
/* 2026-09-21 -- deepseek-chat / deepseek-reasoner fueron retirados del
|
|
39
|
+
* API (GET /models ya no los devuelve). El catalogo vivo es flash +
|
|
40
|
+
* v4-pro; esta lista solo actua de fallback sin key. */
|
|
41
|
+
{ id: 'deepseek-flash', display_name: 'DeepSeek Flash' },
|
|
42
|
+
{ id: 'deepseek-v4-pro', display_name: 'DeepSeek V4 Pro' },
|
|
40
43
|
],
|
|
41
44
|
xai: [
|
|
42
45
|
{ id: 'grok-3', display_name: 'Grok 3' },
|
|
@@ -70,6 +73,13 @@ const CACHE_TTL_MS = 10 * 60 * 1000;
|
|
|
70
73
|
const _cache = new Map();
|
|
71
74
|
/** Test hook. */
|
|
72
75
|
export function _resetProviderModelsCache() { _cache.clear(); }
|
|
76
|
+
/** Providers con listado VIVO contra el API del proveedor. Es la fuente del
|
|
77
|
+
* invariante que exige que todo cerebro ofrecido tenga uno (ver
|
|
78
|
+
* `DAILY_BRAIN_PROVIDERS`): sin listado vivo el catalogo se pudre en
|
|
79
|
+
* silencio y el wizard termina escribiendo un modelo retirado. */
|
|
80
|
+
export const PROVIDERS_WITH_LIVE_LISTING = [
|
|
81
|
+
'anthropic', 'openai', 'google_ai', 'deepseek',
|
|
82
|
+
];
|
|
73
83
|
function staticResult(provider, error) {
|
|
74
84
|
const r = {
|
|
75
85
|
provider,
|
|
@@ -183,8 +193,11 @@ export async function listProviderModels(provider, opts = {}) {
|
|
|
183
193
|
case 'deepseek':
|
|
184
194
|
models = await listDeepSeek(key, fetchImpl, timeoutMs);
|
|
185
195
|
break;
|
|
186
|
-
/* Providers
|
|
187
|
-
*
|
|
196
|
+
/* Providers SIN listado vivo (xai/mistral/cohere/qwen/zai/ollama):
|
|
197
|
+
* fallback estatico sin error. Ninguno de estos es un cerebro
|
|
198
|
+
* ofrecido -- ver DAILY_BRAIN_PROVIDERS y el invariante que lo
|
|
199
|
+
* testea: un cerebro que se ofrece TIENE que tener listado vivo, o
|
|
200
|
+
* su catalogo se pudre igual que le paso a DeepSeek. */
|
|
188
201
|
default: return staticResult(provider);
|
|
189
202
|
}
|
|
190
203
|
if (models.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider_models.js","sourceRoot":"","sources":["../../src/core/provider_models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAsB,MAAM,mBAAmB,CAAC;AAkB7E;;wDAEwD;AACxD,MAAM,aAAa,GAAoD;IACrE,SAAS,EAAE;QACT,EAAE,EAAE,EAAE,iBAAiB,EAAa,YAAY,EAAE,iBAAiB,EAAE;QACrE,EAAE,EAAE,EAAE,mBAAmB,EAAW,YAAY,EAAE,mBAAmB,EAAE;QACvE,EAAE,EAAE,EAAE,2BAA2B,EAAG,YAAY,EAAE,kBAAkB,EAAE;KACvE;IACD,SAAS,EAAE;QACT,EAAE,EAAE,EAAE,gBAAgB,EAAS,YAAY,EAAE,gBAAgB,EAAE;QAC/D,EAAE,EAAE,EAAE,kBAAkB,EAAO,YAAY,EAAE,kBAAkB,EAAE;QACjE,EAAE,EAAE,EAAE,uBAAuB,EAAE,YAAY,EAAE,uBAAuB,EAAE;KACvE;IACD,MAAM,EAAE;QACN,EAAE,EAAE,EAAE,QAAQ,EAAO,YAAY,EAAE,QAAQ,EAAE;QAC7C,EAAE,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE;KACnD;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"provider_models.js","sourceRoot":"","sources":["../../src/core/provider_models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anunciador mDNS del panel -- la mitad que faltaba (PND-086, 2026-09-22).
|
|
3
|
+
*
|
|
4
|
+
* `src/lan/mdns_service.ts` implementa el protocolo completo (announce +
|
|
5
|
+
* browse de `_yujin-forge._tcp.local.`) desde hace meses, pero
|
|
6
|
+
* `attachAnnouncer` NO lo llamaba nadie fuera de los tests: el panel nunca
|
|
7
|
+
* anunciaba nada en la red. Por eso el descubrimiento del celular cae
|
|
8
|
+
* siempre al polling de hosts cargados a mano -- y por eso habilitar
|
|
9
|
+
* zeroconf nativo en la app, sola, no habria cambiado nada: no habia a quien
|
|
10
|
+
* descubrir.
|
|
11
|
+
*
|
|
12
|
+
* Esto levanta el socket multicast, responde las consultas PTR y manda un
|
|
13
|
+
* anuncio no solicitado al arrancar (para que un cliente que ya estaba
|
|
14
|
+
* escuchando se entere sin tener que preguntar).
|
|
15
|
+
*
|
|
16
|
+
* Reglas de la casa:
|
|
17
|
+
* - Nunca tumba el panel. Si no hay red, si el puerto 5353 esta tomado por
|
|
18
|
+
* otro responder (Bonjour de Apple, avahi) o si el SO niega el multicast,
|
|
19
|
+
* se degrada a "no anuncio" y sigue.
|
|
20
|
+
* - Opt-out por env: `YF_NO_MDNS=1`.
|
|
21
|
+
*
|
|
22
|
+
* ASCII-only.
|
|
23
|
+
*/
|
|
24
|
+
import os from 'node:os';
|
|
25
|
+
import { type SocketLike } from './mdns_service.js';
|
|
26
|
+
export interface AnnouncerHandle {
|
|
27
|
+
/** true si el socket quedo escuchando y respondiendo. */
|
|
28
|
+
active: boolean;
|
|
29
|
+
/** Por que no se anuncia, cuando active=false. */
|
|
30
|
+
reason?: string;
|
|
31
|
+
stop(): void;
|
|
32
|
+
}
|
|
33
|
+
/** Primera IPv4 no interna de la maquina. Es la que se publica en el
|
|
34
|
+
* registro A: si no hay ninguna (sin red), no tiene sentido anunciar. */
|
|
35
|
+
export declare function primaryIpv4(ifaces?: NodeJS.Dict<os.NetworkInterfaceInfo[]>): string | null;
|
|
36
|
+
/** Nombre de instancia legible: el hostname de la maquina, sin dominio. */
|
|
37
|
+
export declare function instanceNameFor(hostname?: string): string;
|
|
38
|
+
export interface StartAnnouncerOpts {
|
|
39
|
+
/** Puerto del panel. */
|
|
40
|
+
port: number;
|
|
41
|
+
/** Slug del proyecto activo, para el TXT. */
|
|
42
|
+
projectSlug?: string;
|
|
43
|
+
/** Version del CLI, para el TXT. */
|
|
44
|
+
version?: string;
|
|
45
|
+
/** Inyectable para tests: crea el socket multicast ya bindeado. */
|
|
46
|
+
createSocket?: () => Promise<SocketLike & {
|
|
47
|
+
close(): void;
|
|
48
|
+
}>;
|
|
49
|
+
env?: Record<string, string | undefined>;
|
|
50
|
+
ipv4?: string | null;
|
|
51
|
+
}
|
|
52
|
+
export declare function startPanelAnnouncer(opts: StartAnnouncerOpts): Promise<AnnouncerHandle>;
|
|
53
|
+
//# sourceMappingURL=announce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"announce.d.ts","sourceRoot":"","sources":["../../src/lan/announce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAEe,KAAK,UAAU,EACpC,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;CACd;AAMD;0EAC0E;AAC1E,wBAAgB,WAAW,CAAC,MAAM,GAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAA0B,GAAG,MAAM,GAAG,IAAI,CAUlH;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAGxE;AAED,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG;QAAE,KAAK,IAAI,IAAI,CAAA;KAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAkBD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmC5F"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anunciador mDNS del panel -- la mitad que faltaba (PND-086, 2026-09-22).
|
|
3
|
+
*
|
|
4
|
+
* `src/lan/mdns_service.ts` implementa el protocolo completo (announce +
|
|
5
|
+
* browse de `_yujin-forge._tcp.local.`) desde hace meses, pero
|
|
6
|
+
* `attachAnnouncer` NO lo llamaba nadie fuera de los tests: el panel nunca
|
|
7
|
+
* anunciaba nada en la red. Por eso el descubrimiento del celular cae
|
|
8
|
+
* siempre al polling de hosts cargados a mano -- y por eso habilitar
|
|
9
|
+
* zeroconf nativo en la app, sola, no habria cambiado nada: no habia a quien
|
|
10
|
+
* descubrir.
|
|
11
|
+
*
|
|
12
|
+
* Esto levanta el socket multicast, responde las consultas PTR y manda un
|
|
13
|
+
* anuncio no solicitado al arrancar (para que un cliente que ya estaba
|
|
14
|
+
* escuchando se entere sin tener que preguntar).
|
|
15
|
+
*
|
|
16
|
+
* Reglas de la casa:
|
|
17
|
+
* - Nunca tumba el panel. Si no hay red, si el puerto 5353 esta tomado por
|
|
18
|
+
* otro responder (Bonjour de Apple, avahi) o si el SO niega el multicast,
|
|
19
|
+
* se degrada a "no anuncio" y sigue.
|
|
20
|
+
* - Opt-out por env: `YF_NO_MDNS=1`.
|
|
21
|
+
*
|
|
22
|
+
* ASCII-only.
|
|
23
|
+
*/
|
|
24
|
+
import os from 'node:os';
|
|
25
|
+
import { attachAnnouncer, MDNS_PORT, MDNS_GROUP_IPV4, } from './mdns_service.js';
|
|
26
|
+
const INACTIVE = (reason) => ({
|
|
27
|
+
active: false, reason, stop() { },
|
|
28
|
+
});
|
|
29
|
+
/** Primera IPv4 no interna de la maquina. Es la que se publica en el
|
|
30
|
+
* registro A: si no hay ninguna (sin red), no tiene sentido anunciar. */
|
|
31
|
+
export function primaryIpv4(ifaces = os.networkInterfaces()) {
|
|
32
|
+
for (const list of Object.values(ifaces)) {
|
|
33
|
+
for (const ni of list ?? []) {
|
|
34
|
+
if (ni.internal)
|
|
35
|
+
continue;
|
|
36
|
+
/* node >=18 puede devolver family como numero (4) o string ('IPv4') */
|
|
37
|
+
const fam = String(ni.family);
|
|
38
|
+
if (fam === '4' || fam === 'IPv4')
|
|
39
|
+
return ni.address;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
/** Nombre de instancia legible: el hostname de la maquina, sin dominio. */
|
|
45
|
+
export function instanceNameFor(hostname = os.hostname()) {
|
|
46
|
+
const first = String(hostname || 'forge').split('.')[0] || 'forge';
|
|
47
|
+
return first.slice(0, 63);
|
|
48
|
+
}
|
|
49
|
+
/** Socket real: UDP4 con reuseAddr (convive con el responder del SO),
|
|
50
|
+
* bindeado a 5353 y unido al grupo multicast. */
|
|
51
|
+
async function defaultSocket() {
|
|
52
|
+
const dgram = await import('node:dgram');
|
|
53
|
+
const sock = dgram.createSocket({ type: 'udp4', reuseAddr: true });
|
|
54
|
+
await new Promise((resolve, reject) => {
|
|
55
|
+
sock.once('error', reject);
|
|
56
|
+
sock.bind(MDNS_PORT, () => {
|
|
57
|
+
try {
|
|
58
|
+
sock.addMembership(MDNS_GROUP_IPV4);
|
|
59
|
+
}
|
|
60
|
+
catch { /* sin multicast: igual respondemos unicast */ }
|
|
61
|
+
sock.removeListener('error', reject);
|
|
62
|
+
resolve();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
return sock;
|
|
66
|
+
}
|
|
67
|
+
export async function startPanelAnnouncer(opts) {
|
|
68
|
+
const env = opts.env ?? process.env;
|
|
69
|
+
if (env['YF_NO_MDNS'])
|
|
70
|
+
return INACTIVE('desactivado por YF_NO_MDNS');
|
|
71
|
+
const ipv4 = opts.ipv4 === undefined ? primaryIpv4() : opts.ipv4;
|
|
72
|
+
if (!ipv4)
|
|
73
|
+
return INACTIVE('sin IPv4 no interna (maquina sin red)');
|
|
74
|
+
const instanceName = instanceNameFor();
|
|
75
|
+
const cfg = {
|
|
76
|
+
instanceName,
|
|
77
|
+
hostName: instanceName + '.local.',
|
|
78
|
+
port: opts.port,
|
|
79
|
+
ipv4,
|
|
80
|
+
txt: {
|
|
81
|
+
...(opts.projectSlug ? { project: opts.projectSlug } : {}),
|
|
82
|
+
...(opts.version ? { version: opts.version } : {}),
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
let sock = null;
|
|
86
|
+
try {
|
|
87
|
+
sock = await (opts.createSocket ?? defaultSocket)();
|
|
88
|
+
const { unsolicited } = attachAnnouncer({ socket: sock, cfg });
|
|
89
|
+
/* Anuncio no solicitado: el que ya estaba escuchando nos ve sin preguntar. */
|
|
90
|
+
try {
|
|
91
|
+
sock.send(unsolicited, MDNS_PORT, MDNS_GROUP_IPV4);
|
|
92
|
+
}
|
|
93
|
+
catch { /* best-effort */ }
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
try {
|
|
97
|
+
sock?.close();
|
|
98
|
+
}
|
|
99
|
+
catch { /* */ }
|
|
100
|
+
return INACTIVE(err instanceof Error ? err.message : String(err));
|
|
101
|
+
}
|
|
102
|
+
const s = sock;
|
|
103
|
+
return {
|
|
104
|
+
active: true,
|
|
105
|
+
stop() { try {
|
|
106
|
+
s.close();
|
|
107
|
+
}
|
|
108
|
+
catch { /* ya cerrado */ } },
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=announce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"announce.js","sourceRoot":"","sources":["../../src/lan/announce.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohere_client.d.ts","sourceRoot":"","sources":["../../src/llm/cohere_client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"cohere_client.d.ts","sourceRoot":"","sources":["../../src/llm/cohere_client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAClE,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AA6BD,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,EAAE,MAAM,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK5C;AAaD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,YAAY,CAAS;gBAEjB,IAAI,EAAE,mBAAmB;IAS/B,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA8KhE"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { resolveBrainBehaviour } from '../core/brain_behaviour.js';
|
|
2
|
+
import { capToolResult, compactOldToolResults } from './context_compaction.js';
|
|
1
3
|
const COHERE_BASE = 'https://api.cohere.com/v2/chat';
|
|
2
4
|
const DEFAULT_COHERE_MODEL = 'command-r-plus-08-2024';
|
|
3
5
|
export class CohereApiError extends Error {
|
|
@@ -70,6 +72,10 @@ export class CohereClient {
|
|
|
70
72
|
let totalOut = 0;
|
|
71
73
|
let serverModel = model;
|
|
72
74
|
const toolRounds = [];
|
|
75
|
+
/* H2/H3 (2026-09-22) -- cap + compactacion por cerebro. Antes esto solo
|
|
76
|
+
* existia en el cliente deepseek: el resto acumulaba la historia entera
|
|
77
|
+
* y la re-serializaba en cada ronda, que es como se agotaba el heap. */
|
|
78
|
+
const behaviour = await resolveBrainBehaviour('cohere', serverModel);
|
|
73
79
|
for (let round = 0; round < maxRounds; round++) {
|
|
74
80
|
void round;
|
|
75
81
|
const body = {
|
|
@@ -181,11 +187,15 @@ export class CohereClient {
|
|
|
181
187
|
catch {
|
|
182
188
|
resultStr = String(result);
|
|
183
189
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
190
|
+
/* H2 (2026-09-22) -- antes: stub ciego de 200KB. Ahora el cap sale
|
|
191
|
+
* de la behaviour del cerebro (modo 'head': el modelo sigue viendo
|
|
192
|
+
* el principio del dato en vez de quedarse ciego). */
|
|
193
|
+
resultStr = capToolResult(resultStr, behaviour);
|
|
187
194
|
messages.push({ role: 'tool', tool_call_id: tc.id, content: resultStr });
|
|
188
195
|
}
|
|
196
|
+
/* Compactar los resultados VIEJOS del turno (no-op hasta que el turno
|
|
197
|
+
* se hace largo, segun la behaviour del cerebro). */
|
|
198
|
+
compactOldToolResults(messages, behaviour, round + 1);
|
|
189
199
|
}
|
|
190
200
|
return {
|
|
191
201
|
text: '[Alcance el limite de rondas (' + maxRounds + '/' + maxRounds +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohere_client.js","sourceRoot":"","sources":["../../src/llm/cohere_client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cohere_client.js","sourceRoot":"","sources":["../../src/llm/cohere_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,5 +31,30 @@ interface OpenAiMsg {
|
|
|
31
31
|
* disabled or before the round trigger. Returns the number compacted (for
|
|
32
32
|
* telemetry/tests). */
|
|
33
33
|
export declare function compactOldToolResults(messages: OpenAiMsg[], b: BrainBehaviour, round: number): number;
|
|
34
|
+
interface AnthropicMsg {
|
|
35
|
+
role: string;
|
|
36
|
+
content?: unknown;
|
|
37
|
+
}
|
|
38
|
+
/** Misma idea que `compactOldToolResults`, para la forma de Anthropic: el
|
|
39
|
+
* resultado no es un mensaje con role='tool' sino un bloque
|
|
40
|
+
* `{ type: 'tool_result', content: '...' }` dentro del `content` de un
|
|
41
|
+
* mensaje de usuario. Sin esto, la ruta Console (el cerebro anthropic, que
|
|
42
|
+
* es el default) acumulaba la historia entera sin techo -- la causa del
|
|
43
|
+
* OOM de heap del panel (2026-09). */
|
|
44
|
+
export declare function compactOldAnthropicToolResults(messages: AnthropicMsg[], b: BrainBehaviour, round: number): number;
|
|
45
|
+
interface GeminiPart {
|
|
46
|
+
functionResponse?: {
|
|
47
|
+
name?: string;
|
|
48
|
+
response?: unknown;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
interface GeminiContent {
|
|
52
|
+
role?: string;
|
|
53
|
+
parts?: GeminiPart[];
|
|
54
|
+
}
|
|
55
|
+
/** Variante Gemini: el resultado viaja en
|
|
56
|
+
* `parts[].functionResponse.response`. Se reemplaza el payload por el
|
|
57
|
+
* marcador, conservando la forma que la API espera. */
|
|
58
|
+
export declare function compactOldGeminiToolResults(contents: GeminiContent[], b: BrainBehaviour, round: number): number;
|
|
34
59
|
export {};
|
|
35
60
|
//# sourceMappingURL=context_compaction.d.ts.map
|