@nac3/forge-cli 1.0.81 → 1.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +99 -0
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +57 -1
- package/dist/chat/server.js.map +1 -1
- package/dist/core/brain_behaviour.d.ts +46 -0
- package/dist/core/brain_behaviour.d.ts.map +1 -0
- package/dist/core/brain_behaviour.js +112 -0
- package/dist/core/brain_behaviour.js.map +1 -0
- package/dist/core/desktop_open.d.ts +3 -0
- package/dist/core/desktop_open.d.ts.map +1 -1
- package/dist/core/desktop_open.js +17 -0
- package/dist/core/desktop_open.js.map +1 -1
- package/dist/core/limits_config.d.ts +5 -0
- package/dist/core/limits_config.d.ts.map +1 -1
- package/dist/core/limits_config.js +10 -0
- package/dist/core/limits_config.js.map +1 -1
- package/dist/llm/context_compaction.d.ts +35 -0
- package/dist/llm/context_compaction.d.ts.map +1 -0
- package/dist/llm/context_compaction.js +45 -0
- package/dist/llm/context_compaction.js.map +1 -0
- package/dist/llm/deepseek_client.d.ts.map +1 -1
- package/dist/llm/deepseek_client.js +13 -3
- package/dist/llm/deepseek_client.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/i18n/catalogs/ar.json +3 -0
- package/src/i18n/catalogs/de.json +3 -0
- package/src/i18n/catalogs/en.json +3 -0
- package/src/i18n/catalogs/es.json +3 -0
- package/src/i18n/catalogs/fr.json +3 -0
- package/src/i18n/catalogs/hi.json +3 -0
- package/src/i18n/catalogs/it.json +3 -0
- package/src/i18n/catalogs/ja.json +3 -0
- package/src/i18n/catalogs/pt.json +3 -0
- package/src/i18n/catalogs/zh.json +3 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { BrainProvider } from './brain_config.js';
|
|
2
|
+
export interface CompactionConfig {
|
|
3
|
+
/** Master switch. */
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
/** Keep the N most recent tool results in FULL; older ones are compacted to
|
|
6
|
+
* a short marker. Lower = more aggressive. */
|
|
7
|
+
keep_recent_tool_results: number;
|
|
8
|
+
/** Do not compact until the turn has done at least this many rounds (so
|
|
9
|
+
* short turns are never touched). */
|
|
10
|
+
trigger_after_rounds: number;
|
|
11
|
+
}
|
|
12
|
+
export interface BrainBehaviour {
|
|
13
|
+
compaction: CompactionConfig;
|
|
14
|
+
/** A single serialized tool result larger than this (bytes) is capped
|
|
15
|
+
* before it enters the conversation. */
|
|
16
|
+
tool_result_max_bytes: number;
|
|
17
|
+
/** How to cap: 'head' keeps the first tool_result_max_bytes + a marker (the
|
|
18
|
+
* model still SEES the data -- fixes "reports data missing"); 'stub' hides
|
|
19
|
+
* it behind a {_truncated} placeholder (legacy, blind). */
|
|
20
|
+
tool_result_mode: 'head' | 'stub';
|
|
21
|
+
}
|
|
22
|
+
/** Capability tier that drives the behaviour default. */
|
|
23
|
+
export type CapabilityTier = 'large' | 'medium';
|
|
24
|
+
/** Large-context, long-turn-tolerant brains vs. the rest. Conservative: an
|
|
25
|
+
* unknown model on a known big-context provider still gets 'large'; unknown
|
|
26
|
+
* providers default to 'medium' (safer -- more compaction). */
|
|
27
|
+
export declare function capabilityTier(provider: BrainProvider, model: string): CapabilityTier;
|
|
28
|
+
/** The capability-derived default for a (provider, model) -- no overrides. */
|
|
29
|
+
export declare function defaultBehaviourFor(provider: BrainProvider, model: string): BrainBehaviour;
|
|
30
|
+
export interface BrainBehaviourOverrides {
|
|
31
|
+
/** Per-provider partial overrides applied on top of the capability default. */
|
|
32
|
+
by_provider: Partial<Record<BrainProvider, DeepPartialBehaviour>>;
|
|
33
|
+
}
|
|
34
|
+
export interface DeepPartialBehaviour {
|
|
35
|
+
compaction?: Partial<CompactionConfig>;
|
|
36
|
+
tool_result_max_bytes?: number;
|
|
37
|
+
tool_result_mode?: 'head' | 'stub';
|
|
38
|
+
}
|
|
39
|
+
export declare function readBrainBehaviourOverrides(): Promise<BrainBehaviourOverrides>;
|
|
40
|
+
export declare function writeBrainBehaviourOverrides(o: BrainBehaviourOverrides): Promise<void>;
|
|
41
|
+
/** Merge a partial override onto a base, clamping to safe ranges. */
|
|
42
|
+
export declare function mergeBehaviour(base: BrainBehaviour, ov: DeepPartialBehaviour | undefined): BrainBehaviour;
|
|
43
|
+
/** The effective behaviour for a (provider, model): capability default merged
|
|
44
|
+
* with the saved per-provider override. */
|
|
45
|
+
export declare function resolveBrainBehaviour(provider: BrainProvider, model: string): Promise<BrainBehaviour>;
|
|
46
|
+
//# sourceMappingURL=brain_behaviour.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brain_behaviour.d.ts","sourceRoot":"","sources":["../../src/core/brain_behaviour.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB;mDAC+C;IAC/C,wBAAwB,EAAE,MAAM,CAAC;IACjC;0CACsC;IACtC,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B;6CACyC;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;gEAE4D;IAC5D,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AAED,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD;;gEAEgE;AAChE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAarF;AAiBD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAE1F;AAID,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAQD,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CASpF;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5F;AAOD,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,oBAAoB,GAAG,SAAS,GAAG,cAAc,CAmBzG;AAED;4CAC4C;AAC5C,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAI3G"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brain behaviour -- per-brain runtime tuning (PND-156).
|
|
3
|
+
*
|
|
4
|
+
* Different brains have very different context budgets and tolerance for long,
|
|
5
|
+
* tool-heavy turns. Claude 4.x / Gemini 1.5+ have huge context and reason well
|
|
6
|
+
* over a big accumulated history, so they need little compaction and can carry
|
|
7
|
+
* large tool results. DeepSeek / Mistral / GLM have a smaller effective window
|
|
8
|
+
* and degrade fast as the messages array grows (RSS to ~1GB, event-loop
|
|
9
|
+
* stalls, context loss -- seen live in rpa-osde's journald). This module is the
|
|
10
|
+
* single source of truth for HOW AGGRESSIVELY to compact the conversation and
|
|
11
|
+
* how big a single tool result may be before it is capped -- a capability-
|
|
12
|
+
* derived DEFAULT per brain, plus a manual override the operator can save.
|
|
13
|
+
*
|
|
14
|
+
* Persistence: $YF_CONFIG_DIR/brain_behaviour.json (or ~/.yujin-forge/...).
|
|
15
|
+
* The file holds ONLY the overrides; the defaults are computed from capability
|
|
16
|
+
* so a new supported brain gets a sane baseline for free.
|
|
17
|
+
*
|
|
18
|
+
* ASCII-only.
|
|
19
|
+
*/
|
|
20
|
+
import { promises as fs } from 'node:fs';
|
|
21
|
+
import path from 'node:path';
|
|
22
|
+
import os from 'node:os';
|
|
23
|
+
/** Large-context, long-turn-tolerant brains vs. the rest. Conservative: an
|
|
24
|
+
* unknown model on a known big-context provider still gets 'large'; unknown
|
|
25
|
+
* providers default to 'medium' (safer -- more compaction). */
|
|
26
|
+
export function capabilityTier(provider, model) {
|
|
27
|
+
const m = (model || '').toLowerCase();
|
|
28
|
+
switch (provider) {
|
|
29
|
+
case 'anthropic': return 'large'; /* Claude 3.5/4.x: 200K ctx */
|
|
30
|
+
case 'google_ai': return 'large'; /* Gemini 1.5/2.x: up to 1M ctx */
|
|
31
|
+
case 'yujin_managed': return 'large'; /* proxy routes to a capable model */
|
|
32
|
+
case 'openai':
|
|
33
|
+
/* gpt-4.1 / gpt-4o / o-series = large; older/mini text = medium. */
|
|
34
|
+
return /gpt-4\.1|gpt-4o|o[134]/.test(m) ? 'large' : 'medium';
|
|
35
|
+
default:
|
|
36
|
+
/* deepseek, mistral, zai/GLM, qwen, cohere, xai, ollama, ... */
|
|
37
|
+
return 'medium';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const LARGE = {
|
|
41
|
+
compaction: { enabled: false, keep_recent_tool_results: 40, trigger_after_rounds: 30 },
|
|
42
|
+
tool_result_max_bytes: 1_000_000,
|
|
43
|
+
tool_result_mode: 'head',
|
|
44
|
+
};
|
|
45
|
+
const MEDIUM = {
|
|
46
|
+
compaction: { enabled: true, keep_recent_tool_results: 8, trigger_after_rounds: 4 },
|
|
47
|
+
tool_result_max_bytes: 200_000,
|
|
48
|
+
tool_result_mode: 'head',
|
|
49
|
+
};
|
|
50
|
+
function clone(b) {
|
|
51
|
+
return { compaction: { ...b.compaction }, tool_result_max_bytes: b.tool_result_max_bytes, tool_result_mode: b.tool_result_mode };
|
|
52
|
+
}
|
|
53
|
+
/** The capability-derived default for a (provider, model) -- no overrides. */
|
|
54
|
+
export function defaultBehaviourFor(provider, model) {
|
|
55
|
+
return clone(capabilityTier(provider, model) === 'large' ? LARGE : MEDIUM);
|
|
56
|
+
}
|
|
57
|
+
function configPath() {
|
|
58
|
+
const base = process.env.YF_CONFIG_DIR
|
|
59
|
+
|| path.join(process.env.HOME || process.env.USERPROFILE || os.homedir(), '.yujin-forge');
|
|
60
|
+
return path.join(base, 'brain_behaviour.json');
|
|
61
|
+
}
|
|
62
|
+
export async function readBrainBehaviourOverrides() {
|
|
63
|
+
try {
|
|
64
|
+
const raw = await fs.readFile(configPath(), 'utf-8');
|
|
65
|
+
const j = JSON.parse(raw);
|
|
66
|
+
if (j && typeof j === 'object' && j.by_provider && typeof j.by_provider === 'object') {
|
|
67
|
+
return { by_provider: j.by_provider };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch { /* absent / unreadable -> no overrides */ }
|
|
71
|
+
return { by_provider: {} };
|
|
72
|
+
}
|
|
73
|
+
export async function writeBrainBehaviourOverrides(o) {
|
|
74
|
+
const p = configPath();
|
|
75
|
+
await fs.mkdir(path.dirname(p), { recursive: true });
|
|
76
|
+
await fs.writeFile(p, JSON.stringify({ by_provider: o.by_provider || {} }, null, 2) + '\n', 'utf-8');
|
|
77
|
+
}
|
|
78
|
+
function clampInt(v, lo, hi, dflt) {
|
|
79
|
+
const n = typeof v === 'number' && Number.isFinite(v) ? Math.round(v) : dflt;
|
|
80
|
+
return Math.max(lo, Math.min(hi, n));
|
|
81
|
+
}
|
|
82
|
+
/** Merge a partial override onto a base, clamping to safe ranges. */
|
|
83
|
+
export function mergeBehaviour(base, ov) {
|
|
84
|
+
const out = clone(base);
|
|
85
|
+
if (!ov)
|
|
86
|
+
return out;
|
|
87
|
+
if (ov.compaction) {
|
|
88
|
+
if (typeof ov.compaction.enabled === 'boolean')
|
|
89
|
+
out.compaction.enabled = ov.compaction.enabled;
|
|
90
|
+
if (ov.compaction.keep_recent_tool_results !== undefined) {
|
|
91
|
+
out.compaction.keep_recent_tool_results = clampInt(ov.compaction.keep_recent_tool_results, 1, 200, base.compaction.keep_recent_tool_results);
|
|
92
|
+
}
|
|
93
|
+
if (ov.compaction.trigger_after_rounds !== undefined) {
|
|
94
|
+
out.compaction.trigger_after_rounds = clampInt(ov.compaction.trigger_after_rounds, 0, 200, base.compaction.trigger_after_rounds);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (ov.tool_result_max_bytes !== undefined) {
|
|
98
|
+
out.tool_result_max_bytes = clampInt(ov.tool_result_max_bytes, 4_000, 8_000_000, base.tool_result_max_bytes);
|
|
99
|
+
}
|
|
100
|
+
if (ov.tool_result_mode === 'head' || ov.tool_result_mode === 'stub') {
|
|
101
|
+
out.tool_result_mode = ov.tool_result_mode;
|
|
102
|
+
}
|
|
103
|
+
return out;
|
|
104
|
+
}
|
|
105
|
+
/** The effective behaviour for a (provider, model): capability default merged
|
|
106
|
+
* with the saved per-provider override. */
|
|
107
|
+
export async function resolveBrainBehaviour(provider, model) {
|
|
108
|
+
const base = defaultBehaviourFor(provider, model);
|
|
109
|
+
const ov = await readBrainBehaviourOverrides();
|
|
110
|
+
return mergeBehaviour(base, ov.by_provider[provider]);
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=brain_behaviour.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brain_behaviour.js","sourceRoot":"","sources":["../../src/core/brain_behaviour.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ export interface DesktopOpenResult {
|
|
|
7
7
|
app_hint?: string;
|
|
8
8
|
error?: string;
|
|
9
9
|
}
|
|
10
|
+
/** A headless Linux server (no X/Wayland) has no `xdg-open` target -- trying
|
|
11
|
+
* to launch it threw repeated uncaughtException on rpa-osde (PND-156). */
|
|
12
|
+
export declare function isHeadless(): boolean;
|
|
10
13
|
/** Launcher type -- injectable so tests can assert WHAT would be
|
|
11
14
|
* opened without actually spawning a GUI app. */
|
|
12
15
|
export type Launcher = (target: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desktop_open.d.ts","sourceRoot":"","sources":["../../src/core/desktop_open.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"desktop_open.d.ts","sourceRoot":"","sources":["../../src/core/desktop_open.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoCD;2EAC2E;AAC3E,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAWD;kDACkD;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAchD;qEACqE;AACrE,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB,GAC/D,OAAO,CAAC,iBAAiB,CAAC,CA4C5B"}
|
|
@@ -54,9 +54,18 @@ function shellOpen(target) {
|
|
|
54
54
|
}
|
|
55
55
|
return { command: 'xdg-open', args: [target] };
|
|
56
56
|
}
|
|
57
|
+
/** A headless Linux server (no X/Wayland) has no `xdg-open` target -- trying
|
|
58
|
+
* to launch it threw repeated uncaughtException on rpa-osde (PND-156). */
|
|
59
|
+
export function isHeadless() {
|
|
60
|
+
return process.platform === 'linux'
|
|
61
|
+
&& !process.env.DISPLAY && !process.env.WAYLAND_DISPLAY;
|
|
62
|
+
}
|
|
57
63
|
function launch(target) {
|
|
58
64
|
const { command, args } = shellOpen(target);
|
|
59
65
|
const child = spawn(command, args, { detached: true, stdio: 'ignore', windowsHide: false });
|
|
66
|
+
/* CRITICAL: a missing launcher (xdg-open absent on a headless server) fires
|
|
67
|
+
* an 'error' event -- unhandled it becomes an uncaughtException. Swallow it. */
|
|
68
|
+
child.on('error', () => { });
|
|
60
69
|
child.unref();
|
|
61
70
|
}
|
|
62
71
|
/** Resolve a Google Drive shortcut file (.gsheet/.gdoc/.gslides), which
|
|
@@ -79,6 +88,14 @@ export async function openNative(target, projectRoot, launchFn = launch) {
|
|
|
79
88
|
const t = String(target ?? '').trim();
|
|
80
89
|
if (!t)
|
|
81
90
|
return { ok: false, error: 'target is required' };
|
|
91
|
+
/* Headless server: there is no graphical viewer to open into. Refuse
|
|
92
|
+
* clearly (instead of spawning a missing xdg-open) so the brain reads a
|
|
93
|
+
* useful message and reaches for a reader tool instead. Only when using the
|
|
94
|
+
* real launcher -- an injected launchFn (tests) still runs. */
|
|
95
|
+
if (launchFn === launch && isHeadless()) {
|
|
96
|
+
return { ok: false, error: 'headless: no hay entorno grafico en este server para abrir "' + t
|
|
97
|
+
+ '". Si es un office/imagen/pdf, leelo con office.excel.read / office.word.read / office.pdf.read o descargalo.' };
|
|
98
|
+
}
|
|
82
99
|
/* URL -> browser. Only http(s) (no file://, javascript:, etc.). */
|
|
83
100
|
if (/^[a-z][a-z0-9+.-]*:\/\//i.test(t) || /^[a-z]+:/i.test(t)) {
|
|
84
101
|
if (!/^https?:\/\//i.test(t)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desktop_open.js","sourceRoot":"","sources":["../../src/core/desktop_open.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"desktop_open.js","sourceRoot":"","sources":["../../src/core/desktop_open.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,10 @@ export interface MultiagentConfig {
|
|
|
52
52
|
* explicit opt-in. */
|
|
53
53
|
enabled: boolean;
|
|
54
54
|
}
|
|
55
|
+
export interface FilesTabConfig {
|
|
56
|
+
max_nodes: number;
|
|
57
|
+
max_depth: number;
|
|
58
|
+
}
|
|
55
59
|
export interface LimitsConfig {
|
|
56
60
|
version: 1;
|
|
57
61
|
max_tool_rounds: MaxToolRoundsConfig;
|
|
@@ -73,6 +77,7 @@ export interface LimitsConfig {
|
|
|
73
77
|
danger_zone: DangerZoneConfig;
|
|
74
78
|
bridge: BridgeConfig;
|
|
75
79
|
multiagent: MultiagentConfig;
|
|
80
|
+
files_tab: FilesTabConfig;
|
|
76
81
|
}
|
|
77
82
|
export declare function defaultLimitsConfig(): LimitsConfig;
|
|
78
83
|
/** Read the active config. Cached for ~3 seconds to avoid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits_config.d.ts","sourceRoot":"","sources":["../../src/core/limits_config.ts"],"names":[],"mappings":"AAqDA,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;AAE/F,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB;;;qCAGiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB;mCAC+B;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB;;oCAEgC;IAChC,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAGD,MAAM,WAAW,gBAAgB;IAC/B;;gCAE4B;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAGD,MAAM,WAAW,YAAY;IAC3B;;;;0CAIsC;IACtC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,gBAAgB;IAC/B;;;;;2BAKuB;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,eAAe,EAAE,mBAAmB,CAAC;IACrC,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC;;;;kDAI8C;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;+BAG2B;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"limits_config.d.ts","sourceRoot":"","sources":["../../src/core/limits_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,6 +85,10 @@ export function defaultLimitsConfig() {
|
|
|
85
85
|
multiagent: {
|
|
86
86
|
enabled: false,
|
|
87
87
|
},
|
|
88
|
+
files_tab: {
|
|
89
|
+
max_nodes: 5000,
|
|
90
|
+
max_depth: 6,
|
|
91
|
+
},
|
|
88
92
|
};
|
|
89
93
|
}
|
|
90
94
|
function limitsConfigPath() {
|
|
@@ -161,6 +165,10 @@ function normaliseLimitsConfig(raw) {
|
|
|
161
165
|
? j.multiagent.enabled
|
|
162
166
|
: def.multiagent.enabled,
|
|
163
167
|
},
|
|
168
|
+
files_tab: {
|
|
169
|
+
max_nodes: clamp(j.files_tab?.max_nodes, 200, 200000, def.files_tab.max_nodes),
|
|
170
|
+
max_depth: clamp(j.files_tab?.max_depth, 1, 12, def.files_tab.max_depth),
|
|
171
|
+
},
|
|
164
172
|
};
|
|
165
173
|
}
|
|
166
174
|
let _cache = null;
|
|
@@ -268,6 +276,8 @@ export const LIMITS_FIELD_PATHS = [
|
|
|
268
276
|
'shell.timeout_ms_default',
|
|
269
277
|
'shell.timeout_ms_max',
|
|
270
278
|
'shell.max_output_bytes',
|
|
279
|
+
'files_tab.max_nodes',
|
|
280
|
+
'files_tab.max_depth',
|
|
271
281
|
];
|
|
272
282
|
export function isLimitsFieldPath(p) {
|
|
273
283
|
return LIMITS_FIELD_PATHS.includes(p);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits_config.js","sourceRoot":"","sources":["../../src/core/limits_config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"limits_config.js","sourceRoot":"","sources":["../../src/core/limits_config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context compaction (PND-156) -- keep long, tool-heavy turns from choking the
|
|
3
|
+
* process. On rpa-osde's journald a single deepseek-reasoner session grew the
|
|
4
|
+
* RSS to ~1GB and blocked the event loop for 3-10s at a time, because every
|
|
5
|
+
* round re-sends (and re-serializes) the ENTIRE accumulated messages array
|
|
6
|
+
* including every big tool result. These helpers cap each tool result and
|
|
7
|
+
* compact OLD tool results down to a short marker, driven by the per-brain
|
|
8
|
+
* BrainBehaviour (large-context brains compact little / never; smaller ones
|
|
9
|
+
* compact aggressively).
|
|
10
|
+
*
|
|
11
|
+
* OpenAI wire format (deepseek / openai / mistral / xai / qwen / GLM): tool
|
|
12
|
+
* results are role='tool' messages. Anthropic's shape differs and is handled
|
|
13
|
+
* separately by its own client.
|
|
14
|
+
*
|
|
15
|
+
* ASCII-only.
|
|
16
|
+
*/
|
|
17
|
+
import type { BrainBehaviour } from '../core/brain_behaviour.js';
|
|
18
|
+
/** Cap one serialized tool result before it enters the conversation. 'head'
|
|
19
|
+
* keeps the first N bytes + a marker (the model still SEES the data); 'stub'
|
|
20
|
+
* hides it entirely (legacy blind behaviour). */
|
|
21
|
+
export declare function capToolResult(resultStr: string, b: BrainBehaviour): string;
|
|
22
|
+
interface OpenAiMsg {
|
|
23
|
+
role: string;
|
|
24
|
+
content?: unknown;
|
|
25
|
+
tool_calls?: unknown;
|
|
26
|
+
tool_call_id?: unknown;
|
|
27
|
+
}
|
|
28
|
+
/** Compact OLD tool-result messages IN PLACE: keep the `keep_recent` most
|
|
29
|
+
* recent role='tool' messages in full, replace the content of older ones with
|
|
30
|
+
* a short marker. Bounds both the RSS and the per-round payload. No-op when
|
|
31
|
+
* disabled or before the round trigger. Returns the number compacted (for
|
|
32
|
+
* telemetry/tests). */
|
|
33
|
+
export declare function compactOldToolResults(messages: OpenAiMsg[], b: BrainBehaviour, round: number): number;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=context_compaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context_compaction.d.ts","sourceRoot":"","sources":["../../src/llm/context_compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;kDAEkD;AAClD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,GAAG,MAAM,CAS1E;AAED,UAAU,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE;AAErG;;;;wBAIwB;AACxB,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBrG"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** Cap one serialized tool result before it enters the conversation. 'head'
|
|
2
|
+
* keeps the first N bytes + a marker (the model still SEES the data); 'stub'
|
|
3
|
+
* hides it entirely (legacy blind behaviour). */
|
|
4
|
+
export function capToolResult(resultStr, b) {
|
|
5
|
+
const max = Math.max(1000, b.tool_result_max_bytes | 0);
|
|
6
|
+
if (resultStr.length <= max)
|
|
7
|
+
return resultStr;
|
|
8
|
+
if (b.tool_result_mode === 'stub') {
|
|
9
|
+
return JSON.stringify({ _truncated: true, _bytes: resultStr.length });
|
|
10
|
+
}
|
|
11
|
+
return resultStr.slice(0, max)
|
|
12
|
+
+ '\n[...truncado: ' + resultStr.length + ' bytes en total; se muestran los primeros '
|
|
13
|
+
+ max + '. Pedi un rango/paginado o filtra la consulta si necesitas mas.]';
|
|
14
|
+
}
|
|
15
|
+
/** Compact OLD tool-result messages IN PLACE: keep the `keep_recent` most
|
|
16
|
+
* recent role='tool' messages in full, replace the content of older ones with
|
|
17
|
+
* a short marker. Bounds both the RSS and the per-round payload. No-op when
|
|
18
|
+
* disabled or before the round trigger. Returns the number compacted (for
|
|
19
|
+
* telemetry/tests). */
|
|
20
|
+
export function compactOldToolResults(messages, b, round) {
|
|
21
|
+
if (!b.compaction.enabled)
|
|
22
|
+
return 0;
|
|
23
|
+
if (round < b.compaction.trigger_after_rounds)
|
|
24
|
+
return 0;
|
|
25
|
+
const keep = Math.max(1, b.compaction.keep_recent_tool_results | 0);
|
|
26
|
+
const toolIdx = [];
|
|
27
|
+
for (let i = 0; i < messages.length; i++)
|
|
28
|
+
if (messages[i].role === 'tool')
|
|
29
|
+
toolIdx.push(i);
|
|
30
|
+
if (toolIdx.length <= keep)
|
|
31
|
+
return 0;
|
|
32
|
+
const stale = toolIdx.slice(0, toolIdx.length - keep);
|
|
33
|
+
let compacted = 0;
|
|
34
|
+
for (const i of stale) {
|
|
35
|
+
const m = messages[i];
|
|
36
|
+
const c = typeof m.content === 'string' ? m.content : '';
|
|
37
|
+
if (c.length <= 400 || c.startsWith('[resultado previo compactado'))
|
|
38
|
+
continue; /* already tiny/done */
|
|
39
|
+
m.content = '[resultado previo compactado -- ' + c.length
|
|
40
|
+
+ ' bytes; volve a consultar esa fuente si lo necesitas de nuevo]';
|
|
41
|
+
compacted++;
|
|
42
|
+
}
|
|
43
|
+
return compacted;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=context_compaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context_compaction.js","sourceRoot":"","sources":["../../src/llm/context_compaction.ts"],"names":[],"mappings":"AAkBA;;kDAEkD;AAClD,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,CAAiB;IAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;IACxD,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;UAC1B,kBAAkB,GAAG,SAAS,CAAC,MAAM,GAAG,4CAA4C;UACpF,GAAG,GAAG,kEAAkE,CAAC;AAC/E,CAAC;AAID;;;;wBAIwB;AACxB,MAAM,UAAU,qBAAqB,CAAC,QAAqB,EAAE,CAAiB,EAAE,KAAa;IAC3F,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,oBAAoB;QAAE,OAAO,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,8BAA8B,CAAC;YAAE,SAAS,CAAG,uBAAuB;QACxG,CAAC,CAAC,OAAO,GAAG,kCAAkC,GAAG,CAAC,CAAC,MAAM;cACrD,gEAAgE,CAAC;QACrE,SAAS,EAAE,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek_client.d.ts","sourceRoot":"","sources":["../../src/llm/deepseek_client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"deepseek_client.d.ts","sourceRoot":"","sources":["../../src/llm/deepseek_client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAejD,MAAM,WAAW,mBAAmB;IAClC,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;IACvB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,oBAAoB;IACnC,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,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AA6BD,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,MAAM,EAAE,MAAM,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK5C;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,YAAY,CAAS;gBAEjB,IAAI,EAAE,qBAAqB;IASjC,IAAI,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA6NpE"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { isTransientNetworkError, describeNetError } from '../chat/claude.js';
|
|
2
|
+
import { resolveBrainBehaviour } from '../core/brain_behaviour.js';
|
|
3
|
+
import { capToolResult, compactOldToolResults } from './context_compaction.js';
|
|
2
4
|
const DEEPSEEK_BASE = 'https://api.deepseek.com/chat/completions';
|
|
3
5
|
const DEFAULT_DEEPSEEK_MODEL = 'deepseek-chat';
|
|
4
6
|
const DEFAULT_MAX_TOOL_ROUNDS = 5;
|
|
@@ -70,6 +72,10 @@ export class DeepSeekClient {
|
|
|
70
72
|
let totalOut = 0;
|
|
71
73
|
let serverModel = model;
|
|
72
74
|
const toolRounds = [];
|
|
75
|
+
/* PND-156 -- per-brain behaviour: how big a single tool result may be and
|
|
76
|
+
* how aggressively to compact old ones as the turn grows. DeepSeek is a
|
|
77
|
+
* 'medium' brain, so compaction is on by default; overridable in config. */
|
|
78
|
+
const behaviour = await resolveBrainBehaviour('deepseek', model);
|
|
73
79
|
for (let round = 0; round < maxRounds; round++) {
|
|
74
80
|
void round;
|
|
75
81
|
void DEFAULT_MAX_TOOL_ROUNDS;
|
|
@@ -222,15 +228,19 @@ export class DeepSeekClient {
|
|
|
222
228
|
catch {
|
|
223
229
|
resultStr = String(result);
|
|
224
230
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
231
|
+
/* PND-156 -- configurable cap (was a blind 200KB stub). Default 'head'
|
|
232
|
+
* keeps the first N bytes so the model still sees the data. */
|
|
233
|
+
resultStr = capToolResult(resultStr, behaviour);
|
|
228
234
|
messages.push({
|
|
229
235
|
role: 'tool',
|
|
230
236
|
tool_call_id: tc.id,
|
|
231
237
|
content: resultStr,
|
|
232
238
|
});
|
|
233
239
|
}
|
|
240
|
+
/* PND-156 -- compact OLD tool results once the turn is long, so we stop
|
|
241
|
+
* re-sending (and re-serializing) the whole growing history every round
|
|
242
|
+
* (the ~1GB RSS + event-loop stalls seen in rpa-osde's journald). */
|
|
243
|
+
compactOldToolResults(messages, behaviour, round + 1);
|
|
234
244
|
}
|
|
235
245
|
return {
|
|
236
246
|
text: '[Alcance el limite de rondas (' + maxRounds + '/' + maxRounds +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepseek_client.js","sourceRoot":"","sources":["../../src/llm/deepseek_client.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"deepseek_client.js","sourceRoot":"","sources":["../../src/llm/deepseek_client.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Yujin Forge CLI version. Kept in sync with package.json by the npm
|
|
3
3
|
* "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
|
|
4
4
|
*/
|
|
5
|
-
export declare const VERSION = "1.0.
|
|
5
|
+
export declare const VERSION = "1.0.82";
|
|
6
6
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nac3/forge-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.82",
|
|
4
4
|
"description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": "Pablo Kuschnirof <pablo@rpaforce.com>",
|
|
@@ -330,6 +330,9 @@
|
|
|
330
330
|
"settings.budget.tokensFrontier": "frontier tokens",
|
|
331
331
|
"settings.budget.buyExtension": "شراء تمديد tokens",
|
|
332
332
|
"settings.limits.title": "الحدود (متقدم)",
|
|
333
|
+
"settings.brainbehav.title": "سلوك الدماغ (لكل دماغ)",
|
|
334
|
+
"settings.brainbehav.hint": "ضغط + حد نتيجة الاداة لكل دماغ. الافتراضي حسب القدرة؛ عدل للتجاوز. يحفظ عند التغيير.",
|
|
335
|
+
"settings.brainbehav.reset": "اعادة ضبط الكل",
|
|
333
336
|
"settings.limits.editHint": "حرّر أي قيمة + tab/blur يحفظ.",
|
|
334
337
|
"settings.limits.reset": "إعادة التعيين للافتراضي",
|
|
335
338
|
"settings.bookmarks.title": "إشارات Reader المرجعية",
|
|
@@ -330,6 +330,9 @@
|
|
|
330
330
|
"settings.budget.tokensFrontier": "Frontier-Tokens",
|
|
331
331
|
"settings.budget.buyExtension": "Token-Erweiterung kaufen",
|
|
332
332
|
"settings.limits.title": "Limits (erweitert)",
|
|
333
|
+
"settings.brainbehav.title": "Brain-Verhalten (pro Brain)",
|
|
334
|
+
"settings.brainbehav.hint": "Verdichtung + Tool-Ergebnis-Limit pro Brain. Standard nach Faehigkeit; bearbeiten zum Ueberschreiben. Speichert bei Aenderung.",
|
|
335
|
+
"settings.brainbehav.reset": "Alles zuruecksetzen",
|
|
333
336
|
"settings.limits.editHint": "Beliebigen Wert bearbeiten + Tab/Blur speichert.",
|
|
334
337
|
"settings.limits.reset": "Auf Standard zurucksetzen",
|
|
335
338
|
"settings.bookmarks.title": "Reader-Lesezeichen",
|
|
@@ -330,6 +330,9 @@
|
|
|
330
330
|
"settings.budget.tokensFrontier": "Frontier tokens",
|
|
331
331
|
"settings.budget.buyExtension": "Buy token extension",
|
|
332
332
|
"settings.limits.title": "Limits (advanced)",
|
|
333
|
+
"settings.brainbehav.title": "Brain behaviour (per-brain tuning)",
|
|
334
|
+
"settings.brainbehav.hint": "Compaction + tool-result cap per brain. Default by capability; edit to override. Saves on change.",
|
|
335
|
+
"settings.brainbehav.reset": "Reset all to defaults",
|
|
333
336
|
"settings.limits.editHint": "Edit any value + tab/blur saves.",
|
|
334
337
|
"settings.limits.reset": "Reset to defaults",
|
|
335
338
|
"settings.bookmarks.title": "Reader bookmarks",
|
|
@@ -330,6 +330,9 @@
|
|
|
330
330
|
"settings.budget.tokensFrontier": "Tokens frontier",
|
|
331
331
|
"settings.budget.buyExtension": "Comprar extension de tokens",
|
|
332
332
|
"settings.limits.title": "Limites (avanzado)",
|
|
333
|
+
"settings.brainbehav.title": "Comportamiento del brain (ajuste por brain)",
|
|
334
|
+
"settings.brainbehav.hint": "Compactacion + cap de resultado de tool por brain. Default por capacidad; edita para sobreescribir. Guarda al cambiar.",
|
|
335
|
+
"settings.brainbehav.reset": "Restaurar todo a defaults",
|
|
333
336
|
"settings.limits.editHint": "Editar cualquier valor + tab/blur guarda.",
|
|
334
337
|
"settings.limits.reset": "Reset a defaults",
|
|
335
338
|
"settings.bookmarks.title": "Reader bookmarks",
|