@nac3/forge-cli 1.0.50 → 1.0.51
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/agent_scope.d.ts +41 -0
- package/dist/chat/agent_scope.d.ts.map +1 -0
- package/dist/chat/agent_scope.js +80 -0
- package/dist/chat/agent_scope.js.map +1 -0
- package/dist/chat/agent_session.d.ts +46 -0
- package/dist/chat/agent_session.d.ts.map +1 -0
- package/dist/chat/agent_session.js +169 -0
- package/dist/chat/agent_session.js.map +1 -0
- package/dist/chat/bridge.d.ts +8 -0
- package/dist/chat/bridge.d.ts.map +1 -1
- package/dist/chat/bridge.js +8 -3
- package/dist/chat/bridge.js.map +1 -1
- package/dist/chat/doctrine_digest.d.ts +6 -1
- package/dist/chat/doctrine_digest.d.ts.map +1 -1
- package/dist/chat/doctrine_digest.js +7 -2
- package/dist/chat/doctrine_digest.js.map +1 -1
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +104 -7
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/server.d.ts +20 -1
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +50 -7
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/tools/nac3_invoke.d.ts.map +1 -1
- package/dist/chat/tools/nac3_invoke.js +57 -1
- package/dist/chat/tools/nac3_invoke.js.map +1 -1
- package/dist/chat/tools/session_verbs.d.ts +39 -0
- package/dist/chat/tools/session_verbs.d.ts.map +1 -0
- package/dist/chat/tools/session_verbs.js +299 -0
- package/dist/chat/tools/session_verbs.js.map +1 -0
- package/dist/chat/tools.d.ts.map +1 -1
- package/dist/chat/tools.js +16 -0
- package/dist/chat/tools.js.map +1 -1
- package/dist/commands/chat.d.ts +14 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +80 -1
- package/dist/commands/chat.js.map +1 -1
- package/dist/core/limits_config.d.ts +10 -0
- package/dist/core/limits_config.d.ts.map +1 -1
- package/dist/core/limits_config.js +9 -0
- package/dist/core/limits_config.js.map +1 -1
- package/dist/docs/doctrine/session-orchestration.md +86 -0
- package/dist/nac3/internal_manifest.d.ts.map +1 -1
- package/dist/nac3/internal_manifest.js +103 -0
- package/dist/nac3/internal_manifest.js.map +1 -1
- package/dist/nac3/manifest_lazy.d.ts +5 -0
- package/dist/nac3/manifest_lazy.d.ts.map +1 -1
- package/dist/nac3/manifest_lazy.js +3 -3
- package/dist/nac3/manifest_lazy.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/doctrine/session-orchestration.md +86 -0
- package/package.json +1 -1
- package/src/i18n/catalogs/ar.json +1 -0
- package/src/i18n/catalogs/de.json +1 -0
- package/src/i18n/catalogs/en.json +1 -0
- package/src/i18n/catalogs/es.json +1 -0
- package/src/i18n/catalogs/fr.json +1 -0
- package/src/i18n/catalogs/hi.json +1 -0
- package/src/i18n/catalogs/it.json +1 -0
- package/src/i18n/catalogs/ja.json +1 -0
- package/src/i18n/catalogs/pt.json +1 -0
- package/src/i18n/catalogs/zh.json +1 -0
package/dist/chat/panel.js
CHANGED
|
@@ -6170,9 +6170,10 @@ function unmarkStartupTabClosed(key) {
|
|
|
6170
6170
|
* titulo real lo recordamos del ultimo fetch; el fallback cubre las que
|
|
6171
6171
|
* nunca se vieron. */
|
|
6172
6172
|
var yfStartupTitles = {};
|
|
6173
|
-
var NATIVE_TAB_KEYS = ['startup_graph', 'startup_graph_sem', 'startup_pendings', 'startup_workflow', 'startup_tasks', 'coding_canvas'];
|
|
6173
|
+
var NATIVE_TAB_KEYS = ['startup_graph', 'startup_graph_func', 'startup_graph_sem', 'startup_pendings', 'startup_workflow', 'startup_tasks', 'coding_canvas'];
|
|
6174
6174
|
var NATIVE_TAB_FALLBACK = {
|
|
6175
|
-
startup_graph: 'Grafo',
|
|
6175
|
+
startup_graph: 'Grafo', startup_graph_func: 'Grafo funcional',
|
|
6176
|
+
startup_graph_sem: 'Grafo semantico',
|
|
6176
6177
|
startup_pendings: 'Pendientes', startup_workflow: 'Workflow',
|
|
6177
6178
|
startup_tasks: 'Tareas', coding_canvas: 'Coding',
|
|
6178
6179
|
};
|
|
@@ -6306,6 +6307,11 @@ const PZ_GROUP_COLORS = {
|
|
|
6306
6307
|
* entre re-renders para que un refresh con datos nuevos NO reinicie la
|
|
6307
6308
|
* seleccion del usuario. */
|
|
6308
6309
|
const _graphFilterByTab = {};
|
|
6310
|
+
/* Vista funcional (startup_graph_func): funcionalidad de front-end
|
|
6311
|
+
* seleccionada por tab (id de tab -> id de nodo ancla, o null=todas).
|
|
6312
|
+
* Se conserva entre re-renders por la misma razon que el filtro de
|
|
6313
|
+
* grupos: un refresh con datos nuevos NO debe perder la seleccion. */
|
|
6314
|
+
const _graphFuncByTab = {};
|
|
6309
6315
|
function graphNodeGroup(n) {
|
|
6310
6316
|
const id = String((n && n.id) || '');
|
|
6311
6317
|
const s = (id + ' ' + String((n && (n.label || n.name)) || '')).toLowerCase();
|
|
@@ -6354,6 +6360,12 @@ function initGraphTab(it) {
|
|
|
6354
6360
|
vx: 0, vy: 0, fixed: false,
|
|
6355
6361
|
};
|
|
6356
6362
|
});
|
|
6363
|
+
/* Margen interior = al menos un diametro del nodo mas grande, para
|
|
6364
|
+
* que ningun nodo quede dibujado pegado al borde de la vista (arriba,
|
|
6365
|
+
* abajo, izq y der). Se topa para no colapsar en canvases pequenos. */
|
|
6366
|
+
const _maxR = nodes.reduce((m, n) => Math.max(m, 9 + (n.weight || 0) * 11), 9);
|
|
6367
|
+
const MARGIN = Math.max(28, Math.min(2 * _maxR, Math.min(W, H) * 0.42 - 8));
|
|
6368
|
+
|
|
6357
6369
|
const idIndex = {};
|
|
6358
6370
|
nodes.forEach((n, i) => { idIndex[n.id] = i; });
|
|
6359
6371
|
const edges = data.edges
|
|
@@ -6424,6 +6436,36 @@ function initGraphTab(it) {
|
|
|
6424
6436
|
return g;
|
|
6425
6437
|
});
|
|
6426
6438
|
|
|
6439
|
+
/* ---- Vista funcional (startup_graph_func) ----
|
|
6440
|
+
* Centrada en las funcionalidades de front-end (nodos del grupo
|
|
6441
|
+
* 'frontend') y como conectan con TODO lo demas. Permite elegir una
|
|
6442
|
+
* funcionalidad y ver solo su subgrafo alcanzable (lo que esa
|
|
6443
|
+
* funcionalidad toca, directa o transitivamente). El filtro de grupos
|
|
6444
|
+
* de abajo sigue aplicando ENCIMA de la funcionalidad elegida. */
|
|
6445
|
+
const functional = data.mode === 'functional';
|
|
6446
|
+
/* Adyacencia DIRIGIDA (from->to) para el alcance. Convencion del grafo
|
|
6447
|
+
* (semantic_graph/derive.ts): la arista va del consumidor a lo que usa
|
|
6448
|
+
* (owner --uses--> target, owner --depends_on--> lib). Asi, partir de
|
|
6449
|
+
* una funcionalidad de front-end y seguir las salientes da su CONO de
|
|
6450
|
+
* dependencias: exactamente los componentes con los que conecta. (No
|
|
6451
|
+
* dirigido daria todo el grafo cuando es un unico componente conexo.) */
|
|
6452
|
+
const adj = nodes.map(() => []);
|
|
6453
|
+
edges.forEach((e) => { adj[e.from].push(e.to); });
|
|
6454
|
+
function computeReach(startIdx) {
|
|
6455
|
+
const seen = new Set([startIdx]);
|
|
6456
|
+
const stack = [startIdx];
|
|
6457
|
+
while (stack.length) {
|
|
6458
|
+
const u = stack.pop();
|
|
6459
|
+
const ns = adj[u];
|
|
6460
|
+
for (let i = 0; i < ns.length; i++) { if (!seen.has(ns[i])) { seen.add(ns[i]); stack.push(ns[i]); } }
|
|
6461
|
+
}
|
|
6462
|
+
return seen;
|
|
6463
|
+
}
|
|
6464
|
+
/* Funcionalidad seleccionada (id de nodo) restaurada de un render
|
|
6465
|
+
* previo; null = todas. funcReach = set de indices visibles, o null. */
|
|
6466
|
+
const savedFunc = functional ? (_graphFuncByTab[it.id] || null) : null;
|
|
6467
|
+
let funcReach = (savedFunc != null && idIndex[savedFunc] != null) ? computeReach(idIndex[savedFunc]) : null;
|
|
6468
|
+
|
|
6427
6469
|
/* ---- Filtro por grupo (legend toggleable) -- desktop a la par del
|
|
6428
6470
|
* mobile. Colorea por backend/frontend/mobile/tests/tools/scripts/
|
|
6429
6471
|
* libs/protocol y permite mostrar/ocultar cada grupo. ---- */
|
|
@@ -6437,8 +6479,11 @@ function initGraphTab(it) {
|
|
|
6437
6479
|
counts[n.group] = (counts[n.group] || 0) + 1;
|
|
6438
6480
|
});
|
|
6439
6481
|
_graphFilterByTab[it.id] = vis; /* el toggle muta este mismo objeto */
|
|
6482
|
+
/* En modo funcional la barra de funcionalidades ocupa la fila de
|
|
6483
|
+
* arriba; la leyenda de grupos baja una fila para no solaparse. */
|
|
6484
|
+
const legendTop = functional ? 36 : 6;
|
|
6440
6485
|
const legend = document.createElement('div');
|
|
6441
|
-
legend.setAttribute('style', 'position:absolute;top:
|
|
6486
|
+
legend.setAttribute('style', 'position:absolute;top:' + legendTop + 'px;left:6px;right:6px;display:flex;flex-wrap:wrap;gap:5px;z-index:6;pointer-events:auto;');
|
|
6442
6487
|
Object.keys(counts).sort().forEach((k) => {
|
|
6443
6488
|
const chip = document.createElement('button');
|
|
6444
6489
|
chip.type = 'button';
|
|
@@ -6457,10 +6502,62 @@ function initGraphTab(it) {
|
|
|
6457
6502
|
/* el canvas es position:relative en CSS; si no, el absolute cuelga del svg */
|
|
6458
6503
|
canvas.style.position = canvas.style.position || 'relative';
|
|
6459
6504
|
canvas.appendChild(legend);
|
|
6505
|
+
|
|
6506
|
+
/* ---- Barra de funcionalidades de front-end (solo modo funcional) ---- */
|
|
6507
|
+
if (functional) {
|
|
6508
|
+
const en = !!(CONFIG && CONFIG.lang === 'en');
|
|
6509
|
+
const anchors = nodes
|
|
6510
|
+
.map((n, i) => ({ n, i }))
|
|
6511
|
+
.filter((x) => x.n.group === 'frontend')
|
|
6512
|
+
.sort((a, b) => String(a.n.label).localeCompare(String(b.n.label)));
|
|
6513
|
+
const bar = document.createElement('div');
|
|
6514
|
+
bar.setAttribute('style', 'position:absolute;top:6px;left:6px;right:6px;display:flex;align-items:center;gap:6px;z-index:7;pointer-events:auto;');
|
|
6515
|
+
const lab = document.createElement('span');
|
|
6516
|
+
lab.setAttribute('style', 'font:inherit;font-size:11px;color:#3a3a3a;white-space:nowrap;');
|
|
6517
|
+
lab.textContent = en ? 'Front-end feature:' : 'Funcionalidad front-end:';
|
|
6518
|
+
const sel = document.createElement('select');
|
|
6519
|
+
sel.setAttribute('style', 'font:inherit;font-size:11px;color:#3a3a3a;border:1px solid #d9d2c4;'
|
|
6520
|
+
+ 'border-radius:14px;padding:3px 9px;background:#fff;cursor:pointer;max-width:60%;');
|
|
6521
|
+
const optAll = document.createElement('option');
|
|
6522
|
+
optAll.value = '';
|
|
6523
|
+
optAll.textContent = (en ? 'All features' : 'Todas las funcionalidades') + ' (' + anchors.length + ')';
|
|
6524
|
+
sel.appendChild(optAll);
|
|
6525
|
+
anchors.forEach((x) => {
|
|
6526
|
+
const o = document.createElement('option');
|
|
6527
|
+
o.value = x.n.id;
|
|
6528
|
+
o.textContent = x.n.label.length > 40 ? x.n.label.slice(0, 39) + '…' : x.n.label;
|
|
6529
|
+
if (savedFunc != null && x.n.id === savedFunc) o.selected = true;
|
|
6530
|
+
sel.appendChild(o);
|
|
6531
|
+
});
|
|
6532
|
+
sel.addEventListener('change', () => {
|
|
6533
|
+
const v = sel.value;
|
|
6534
|
+
funcReach = (v && idIndex[v] != null) ? computeReach(idIndex[v]) : null;
|
|
6535
|
+
_graphFuncByTab[it.id] = v || null;
|
|
6536
|
+
if (v && idIndex[v] != null) { try { showDetail(nodes[idIndex[v]]); } catch (e) { /* */ } }
|
|
6537
|
+
applyGraphFilter();
|
|
6538
|
+
});
|
|
6539
|
+
bar.appendChild(lab);
|
|
6540
|
+
bar.appendChild(sel);
|
|
6541
|
+
if (anchors.length === 0) {
|
|
6542
|
+
const hint = document.createElement('span');
|
|
6543
|
+
hint.setAttribute('style', 'font:inherit;font-size:11px;color:#9a8f7a;');
|
|
6544
|
+
hint.textContent = en ? '(no front-end nodes detected)' : '(sin nodos de front-end detectados)';
|
|
6545
|
+
bar.appendChild(hint);
|
|
6546
|
+
}
|
|
6547
|
+
canvas.appendChild(bar);
|
|
6548
|
+
/* Si habia una funcionalidad recordada, reflejarla en el detalle. */
|
|
6549
|
+
if (savedFunc != null && idIndex[savedFunc] != null) { try { showDetail(nodes[idIndex[savedFunc]]); } catch (e) { /* */ } }
|
|
6550
|
+
}
|
|
6551
|
+
|
|
6552
|
+
function nodeVisible(i) {
|
|
6553
|
+
if (!vis[nodes[i].group]) return false;
|
|
6554
|
+
if (funcReach && !funcReach.has(i)) return false;
|
|
6555
|
+
return true;
|
|
6556
|
+
}
|
|
6460
6557
|
function applyGraphFilter() {
|
|
6461
|
-
for (let i = 0; i < nodeEls.length; i++) nodeEls[i].style.display =
|
|
6558
|
+
for (let i = 0; i < nodeEls.length; i++) nodeEls[i].style.display = nodeVisible(i) ? '' : 'none';
|
|
6462
6559
|
for (let k = 0; k < edges.length; k++) {
|
|
6463
|
-
const show =
|
|
6560
|
+
const show = nodeVisible(edges[k].from) && nodeVisible(edges[k].to);
|
|
6464
6561
|
edgeEls[k].style.display = show ? '' : 'none';
|
|
6465
6562
|
}
|
|
6466
6563
|
}
|
|
@@ -6511,8 +6608,8 @@ function initGraphTab(it) {
|
|
|
6511
6608
|
n.vx = (n.vx + n._fx * alpha) * DAMP;
|
|
6512
6609
|
n.vy = (n.vy + n._fy * alpha) * DAMP;
|
|
6513
6610
|
n.x += n.vx; n.y += n.vy;
|
|
6514
|
-
n.x = Math.max(
|
|
6515
|
-
n.y = Math.max(
|
|
6611
|
+
n.x = Math.max(MARGIN, Math.min(W - MARGIN, n.x));
|
|
6612
|
+
n.y = Math.max(MARGIN, Math.min(H - MARGIN, n.y));
|
|
6516
6613
|
}
|
|
6517
6614
|
alpha *= 0.985; if (alpha < 0.02) alpha = 0.02;
|
|
6518
6615
|
}
|
package/dist/chat/panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../../src/chat/panel.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAm/QpB,kBAAkB;;QAEpB,CAAC;AACT,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../../src/chat/panel.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAolRpB,kBAAkB;;QAEpB,CAAC;AACT,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/chat/server.d.ts
CHANGED
|
@@ -44,6 +44,15 @@ export interface StartOptions {
|
|
|
44
44
|
* /api/agent/events (SSE). When absent, those endpoints return
|
|
45
45
|
* 503 so the UI can render a "runtime not started" state. */
|
|
46
46
|
runtime?: import('../agents/runtime.js').Runtime;
|
|
47
|
+
/** Session orchestration -- when true, this server is a headless
|
|
48
|
+
* SUB-SESSION spawned by another `yf chat` via yujin.session.spawn.
|
|
49
|
+
* It still boots the full turn machinery (so the brain sees the
|
|
50
|
+
* graph + the server-side verbs) but: it does NOT mutate the global
|
|
51
|
+
* project registry (never flips the parent's active project) and it
|
|
52
|
+
* does NOT run the relay command consumer (so it never steals a
|
|
53
|
+
* phone command). The child's verb scope is gated separately by the
|
|
54
|
+
* YF_AGENT_MODE env flag in nac3_invoke. */
|
|
55
|
+
agentMode?: boolean;
|
|
47
56
|
}
|
|
48
57
|
export interface StartedServer {
|
|
49
58
|
server: Server;
|
|
@@ -53,6 +62,11 @@ export interface StartedServer {
|
|
|
53
62
|
port: number;
|
|
54
63
|
store: TranscriptStore;
|
|
55
64
|
close: () => Promise<void>;
|
|
65
|
+
/** Inter-instance coordination bridge handle (Pablo 2026-06-19), or null
|
|
66
|
+
* when the bridge is off. Exposed so a headless agent sub-session can
|
|
67
|
+
* publish its result on the typed 'session_reply' lane back to the
|
|
68
|
+
* parent (yujin.session.*). */
|
|
69
|
+
bridge?: import('./bridge.js').BridgeHandle | null;
|
|
56
70
|
}
|
|
57
71
|
export declare function startChatServer(opts: StartOptions): Promise<StartedServer>;
|
|
58
72
|
interface Ctx {
|
|
@@ -151,7 +165,12 @@ panelMode?: 'native' | 'mcp-bridge' | 'none',
|
|
|
151
165
|
* CLI version with the project's own version (Pablo: "Es Forge v1.0.44"
|
|
152
166
|
* appeared while anchored to Yuemail 0.6.4). Undefined -> the block
|
|
153
167
|
* falls back to name + root + Forge-CLI version (back-compat). */
|
|
154
|
-
projectIdentity?: ProjectIdentity
|
|
168
|
+
projectIdentity?: ProjectIdentity,
|
|
169
|
+
/** Pablo 2026-06-28 -- whether multi-agent session orchestration
|
|
170
|
+
* (yujin.session.*) is enabled in config. When false (default) the
|
|
171
|
+
* session verbs + their doctrine line are filtered out and the brain is
|
|
172
|
+
* told the feature is OFF. The caller prefetches readLimitsConfig(). */
|
|
173
|
+
multiagentEnabled?: boolean): string;
|
|
155
174
|
/** Pablo 2026-06-22 -- live approval posture appended to systemDynamic each
|
|
156
175
|
* turn. The stable prompt's R8 always says destructive verbs open a modal;
|
|
157
176
|
* this reflects the ACTUAL danger_zone.auto_approve_all + shell.cwd_boundary_
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/chat/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAA2D,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAKjG,OAAO,EAAoD,KAAK,aAAa,EAAoB,MAAM,aAAa,CAAC;AAErH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAczB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAsBjD,OAAO,EAAyD,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAc1H,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;;;wDAQoD;IACpD,YAAY,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAAC;IACnD;;2DAEuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;+CAC2C;IAC3C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;kEAG8D;IAC9D,OAAO,CAAC,EAAE,OAAO,sBAAsB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/chat/server.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/server.js
CHANGED
|
@@ -261,7 +261,9 @@ export async function startChatServer(opts) {
|
|
|
261
261
|
* ephemeral runs (vitest sets VITEST; also skip an obvious temp root). */
|
|
262
262
|
const isTestEnv = !!process.env.VITEST || process.env.NODE_ENV === 'test';
|
|
263
263
|
const isTempRoot = /[\\/](?:te?mp|yf-[a-z-]*proj|yf-startup)/i.test(opts.projectRoot);
|
|
264
|
-
|
|
264
|
+
/* A headless agent sub-session must NEVER touch the global registry --
|
|
265
|
+
* it would flip the parent's active project (Pablo's scramble bug). */
|
|
266
|
+
if (!isTestEnv && !isTempRoot && !opts.agentMode) {
|
|
265
267
|
void (async () => {
|
|
266
268
|
try {
|
|
267
269
|
await upsertProject({ slug: projectSlug, path: opts.projectRoot });
|
|
@@ -439,7 +441,12 @@ export async function startChatServer(opts) {
|
|
|
439
441
|
* so if the user pairs a phone MID-SESSION it wakes up automatically (no
|
|
440
442
|
* restart needed). When the relay is off it is a cheap no-op timer. */
|
|
441
443
|
let commandConsumerHandle = null;
|
|
444
|
+
/* A headless agent sub-session does NOT consume phone commands -- every
|
|
445
|
+
* yf chat polls the same relay stream, so a child would race the parent
|
|
446
|
+
* for ownership and could run a mobile command twice. */
|
|
442
447
|
try {
|
|
448
|
+
if (opts.agentMode)
|
|
449
|
+
throw new Error('agent-mode: relay consumer disabled');
|
|
443
450
|
commandConsumerHandle = startDesktopCommandConsumer(opts.port, {
|
|
444
451
|
/* live so a reanchor moves which commands this instance owns */
|
|
445
452
|
getActiveSlug: () => session.projectSlug,
|
|
@@ -525,6 +532,7 @@ export async function startChatServer(opts) {
|
|
|
525
532
|
url,
|
|
526
533
|
port: opts.port,
|
|
527
534
|
store,
|
|
535
|
+
bridge: bridgeHandle,
|
|
528
536
|
close: () => new Promise((resolve) => {
|
|
529
537
|
/* alpha.59w -- stop the component watcher on shutdown so
|
|
530
538
|
* vitest does not hang on lingering fs watchers. */
|
|
@@ -3771,6 +3779,11 @@ async function handleStartupTabs(_req, res, ctx, url) {
|
|
|
3771
3779
|
const gNodes = nodes.map((n) => ({ id: n.id, label: n.name || n.id, weight: n.weight, kind: n.kind, confidence: n.confidence, detail: n.purpose || '' }));
|
|
3772
3780
|
const gEdges = edges.map((e) => ({ from: e.from_id, to: e.to_id, kind: e.kind }));
|
|
3773
3781
|
tabs.push({ key: 'startup_graph', title: t('startup.tab.graph'), kind: 'graph', content: JSON.stringify({ nodes: gNodes, edges: gEdges }) });
|
|
3782
|
+
/* Vista funcional -- misma data, marcada mode:'functional'. El panel
|
|
3783
|
+
* la renderiza centrada en las funcionalidades de front-end (nodos
|
|
3784
|
+
* del grupo 'frontend') con un selector para filtrar el subgrafo que
|
|
3785
|
+
* cada funcionalidad toca. Reusa el mismo renderer de grafo. */
|
|
3786
|
+
tabs.push({ key: 'startup_graph_func', title: t('startup.tab.graphFunc'), kind: 'graph', content: JSON.stringify({ nodes: gNodes, edges: gEdges, mode: 'functional' }) });
|
|
3774
3787
|
/* Grafo semantico = misma data en markdown (tabla de nodos por
|
|
3775
3788
|
* peso + conteo de aristas), con la confianza para distinguir lo
|
|
3776
3789
|
* declarado (claimed) de lo derivado del codigo (auto). */
|
|
@@ -5013,6 +5026,16 @@ async function handleChat(req, res, ctx) {
|
|
|
5013
5026
|
mcpAvailable = bridges.some((b) => b.enabled);
|
|
5014
5027
|
}
|
|
5015
5028
|
catch (_) { /* registry failure -> stay with MCP-off behaviour */ }
|
|
5029
|
+
/* Multi-agent session orchestration toggle (Pablo 2026-06-28). Default
|
|
5030
|
+
* OFF: the yujin.session.* verbs + their doctrine are hidden from the
|
|
5031
|
+
* prompt and the brain is told the feature is off. The user opts in via
|
|
5032
|
+
* Ajustes > Limites (multiagent.enabled). */
|
|
5033
|
+
let multiagentEnabled = false;
|
|
5034
|
+
try {
|
|
5035
|
+
const { readLimitsConfig } = await import('../core/limits_config.js');
|
|
5036
|
+
multiagentEnabled = (await readLimitsConfig()).multiagent.enabled === true;
|
|
5037
|
+
}
|
|
5038
|
+
catch (_) { /* config failure -> stay OFF (safe default) */ }
|
|
5016
5039
|
/* alpha.59z.37 NAC-3 v3.x backend tools -- prefetch the
|
|
5017
5040
|
* adopter app's nac3_backend section (task #23). Empty
|
|
5018
5041
|
* string when the manifest does not declare it, when the
|
|
@@ -5141,7 +5164,7 @@ async function handleChat(req, res, ctx) {
|
|
|
5141
5164
|
* pizarron_create_tab tool; in API/managed it is native. */
|
|
5142
5165
|
ctx.chatProvider === 'claude-code-cli'
|
|
5143
5166
|
? (ctx.panelPushToken ? 'mcp-bridge' : 'none')
|
|
5144
|
-
: 'native', projectIdentity),
|
|
5167
|
+
: 'native', projectIdentity, multiagentEnabled),
|
|
5145
5168
|
systemDynamic: recentSessionsRecap + projectContextSection + snapshotSection + graphSection + wiringSection + toolingSection + workflowSection + approvalPostureSection,
|
|
5146
5169
|
maxTokens: _maxTokensPerTurn,
|
|
5147
5170
|
/* Plan/CLI uses Claude Code's native tools (FORGE_TOOL_SPECS = just
|
|
@@ -5341,7 +5364,7 @@ async function handleChat(req, res, ctx) {
|
|
|
5341
5364
|
model: frontierSel.model,
|
|
5342
5365
|
}, globalLearnings, mcpAvailable, backendToolsSection, lastUserText, ctx.chatProvider === 'claude-code-cli'
|
|
5343
5366
|
? (ctx.panelPushToken ? 'mcp-bridge' : 'none')
|
|
5344
|
-
: 'native', projectIdentity),
|
|
5367
|
+
: 'native', projectIdentity, multiagentEnabled),
|
|
5345
5368
|
};
|
|
5346
5369
|
const frontierReply = await frontierCaller.chat(frontierRequest);
|
|
5347
5370
|
reply = frontierReply;
|
|
@@ -5800,7 +5823,12 @@ panelMode = 'native',
|
|
|
5800
5823
|
* CLI version with the project's own version (Pablo: "Es Forge v1.0.44"
|
|
5801
5824
|
* appeared while anchored to Yuemail 0.6.4). Undefined -> the block
|
|
5802
5825
|
* falls back to name + root + Forge-CLI version (back-compat). */
|
|
5803
|
-
projectIdentity
|
|
5826
|
+
projectIdentity,
|
|
5827
|
+
/** Pablo 2026-06-28 -- whether multi-agent session orchestration
|
|
5828
|
+
* (yujin.session.*) is enabled in config. When false (default) the
|
|
5829
|
+
* session verbs + their doctrine line are filtered out and the brain is
|
|
5830
|
+
* told the feature is OFF. The caller prefetches readLimitsConfig(). */
|
|
5831
|
+
multiagentEnabled = false) {
|
|
5804
5832
|
/* alpha.58 -- tier awareness header. When the request is
|
|
5805
5833
|
* served by an eco-tier model (Gemini Flash Lite, Haiku),
|
|
5806
5834
|
* the model is told its role explicitly so it can be more
|
|
@@ -5830,7 +5858,7 @@ projectIdentity) {
|
|
|
5830
5858
|
'tengo los verbos NAC-3 enchufados" is FACTUALLY WRONG -- your',
|
|
5831
5859
|
'runtime DOES have the NAC-3 manifest wired (yujin.fs.*,',
|
|
5832
5860
|
'yujin.git.*, yujin.graph.*, yujin.wiring.*, yujin.pending.*,',
|
|
5833
|
-
'yujin.doctrine.*, yujin.nac3.*, yujin.bridge.*, plus the rest in',
|
|
5861
|
+
'yujin.doctrine.*, yujin.nac3.*, yujin.bridge.*, yujin.session.*, plus the rest in',
|
|
5834
5862
|
'the manifest stub below). When in doubt about what is available, call',
|
|
5835
5863
|
'yujin.manifest.read or yujin.nac3.discover-schemas before',
|
|
5836
5864
|
'claiming "no tengo X". Falsely claiming otherwise destroys',
|
|
@@ -6066,8 +6094,23 @@ projectIdentity) {
|
|
|
6066
6094
|
' yujin.shell.exec is for ops with NO native verb equivalent:',
|
|
6067
6095
|
' npm install, docker build, pytest, custom scripts, etc.',
|
|
6068
6096
|
'',
|
|
6097
|
+
/* Multi-agent orchestration state (Pablo 2026-06-28) -- the brain must
|
|
6098
|
+
* KNOW whether yujin.session.* is available. Default OFF. */
|
|
6099
|
+
...(multiagentEnabled
|
|
6100
|
+
? [
|
|
6101
|
+
'ORQUESTACION MULTIAGENTE: ON. Podes lanzar sub-sesiones `yf chat`',
|
|
6102
|
+
'headless con yujin.session.spawn para tareas ORTOGONALES en paralelo',
|
|
6103
|
+
'(ver la doctrina session-orchestration). Siempre yujin.session.collect',
|
|
6104
|
+
'lo que lances.', '',
|
|
6105
|
+
]
|
|
6106
|
+
: [
|
|
6107
|
+
'ORQUESTACION MULTIAGENTE: OFF. Los verbos yujin.session.* NO estan',
|
|
6108
|
+
'disponibles en esta sesion (no figuran en el manifest). No intentes',
|
|
6109
|
+
'lanzar sub-sesiones. Si el usuario quiere paralelizar con sub-sesiones,',
|
|
6110
|
+
'decile que la active en Ajustes > Limites (multiagent.enabled).', '',
|
|
6111
|
+
]),
|
|
6069
6112
|
'MANIFEST:',
|
|
6070
|
-
buildManifestForPrompt({ includeMcpVerbs: mcpAvailable }).text,
|
|
6113
|
+
buildManifestForPrompt({ includeMcpVerbs: mcpAvailable, includeSessionVerbs: multiagentEnabled }).text,
|
|
6071
6114
|
/* alpha.59z.37 NAC-3 v3.x backend tools (task #23 slice 1):
|
|
6072
6115
|
* splice the pre-built app.* verbs section. Empty string ->
|
|
6073
6116
|
* nothing appears (Invariant: identical to v3.0 when no
|
|
@@ -6083,7 +6126,7 @@ projectIdentity) {
|
|
|
6083
6126
|
* code-quality guardrails, so the condensed essence of EVERY one
|
|
6084
6127
|
* is injected mandatorily in every prompt (not on-demand). Full
|
|
6085
6128
|
* text still on-demand via yujin.doctrine.discover. */
|
|
6086
|
-
...buildDoctrineDigestLines(),
|
|
6129
|
+
...buildDoctrineDigestLines({ includeSession: multiagentEnabled }),
|
|
6087
6130
|
'=================================================================',
|
|
6088
6131
|
'PIZARRON DOCTRINE (condensed; full text on-demand)',
|
|
6089
6132
|
'=================================================================',
|