@nac3/forge-cli 1.0.87 → 1.0.89

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.
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/chat/panel.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;2BAKuB;IACvB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAq+YxD"}
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/chat/panel.ts"],"names":[],"mappings":"AAmBA,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb;;;;;2BAKuB;IACvB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAmrZxD"}
@@ -724,6 +724,35 @@ body {
724
724
  cursor: grab;
725
725
  }
726
726
  #yf-full .pz-graph-canvas:active { cursor: grabbing; }
727
+ /* Node search + RPAForce rocket (local). */
728
+ #yf-full .pz-graph-wrap { position: relative; }
729
+ #yf-full .pz-graph-search { position: absolute; bottom: 10px; right: 10px; z-index: 6; width: 232px; display: flex; flex-direction: column-reverse; }
730
+ #yf-full .pz-graph-q {
731
+ width: 100%; box-sizing: border-box; font: inherit; font-size: 12px;
732
+ background: rgba(8,12,24,0.82); color: #dbe7ff; border: 1px solid rgba(57,255,20,0.45);
733
+ border-radius: 7px; padding: 6px 10px; outline: none; backdrop-filter: blur(3px);
734
+ box-shadow: 0 0 0 1px rgba(0,0,0,0.35), 0 0 14px rgba(57,255,20,0.10); }
735
+ #yf-full .pz-graph-q::placeholder { color: #6b7a9c; }
736
+ #yf-full .pz-rspeed {
737
+ display: flex; align-items: center; gap: 7px; margin-top: 4px;
738
+ background: rgba(8,12,24,0.82); color: #9db4e6; border: 1px solid rgba(57,255,20,0.30);
739
+ border-radius: 7px; padding: 4px 9px; backdrop-filter: blur(3px); }
740
+ #yf-full .pz-rspeed span { font-size: 12px; line-height: 1; }
741
+ #yf-full .pz-rspeed input { flex: 1; height: 3px; accent-color: #39ff14; cursor: pointer; }
742
+ #yf-full .pz-graph-q:focus { border-color: rgba(57,255,20,0.85); box-shadow: 0 0 14px rgba(57,255,20,0.28); }
743
+ #yf-full .pz-graph-suggest {
744
+ display: none; margin-bottom: 4px; max-height: 240px; overflow-y: auto;
745
+ background: rgba(8,12,24,0.94); border: 1px solid rgba(57,255,20,0.28); border-radius: 7px; }
746
+ #yf-full .pz-graph-sug-item {
747
+ padding: 5px 10px; font-size: 12px; color: #cfe0ff; cursor: pointer;
748
+ display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
749
+ #yf-full .pz-graph-sug-item:hover { background: rgba(57,255,20,0.14); color: #eafff0; }
750
+ #yf-full .pz-graph-sug-kind { font-size: 10px; color: #7a89aa; }
751
+ #yf-full .pz-rocket { pointer-events: none; filter: drop-shadow(0 0 5px rgba(57,255,20,0.85)); }
752
+ #yf-full .pz-node-hit { animation: pzNodeHit 0.6s ease-out; transform-box: fill-box; transform-origin: center; }
753
+ @keyframes pzNodeHit {
754
+ 0% { filter: brightness(1); } 18% { filter: brightness(3.2) drop-shadow(0 0 10px #39ff14); }
755
+ 100% { filter: brightness(1); } }
727
756
  #yf-full .pz-graph-svg { display: block; width: 100%; height: 100%; touch-action: none; }
728
757
  #yf-full .pz-graph-empty {
729
758
  padding: 24px; color: #8ea0c8; font-size: 13px; text-align: center;
@@ -5650,6 +5679,12 @@ function renderPizarronCardBody(it) {
5650
5679
  if (it.kind === 'graph') {
5651
5680
  return '<div class="pz-body pz-graph-wrap" data-nac-id="yujin.pizarron.item.' + it.id + '.body" data-nac-role="region">'
5652
5681
  + '<div class="pz-graph-canvas" data-pz-graph-canvas></div>'
5682
+ + '<div class="pz-graph-search" data-pz-graph-search-box>'
5683
+ + '<div class="pz-rspeed" title="Velocidad del cohete"><span>&#128640;</span>'
5684
+ + '<input type="range" data-pz-rspeed min="0" max="100" step="1" value="30" aria-label="Velocidad del cohete" /></div>'
5685
+ + '<input type="text" class="pz-graph-q" data-pz-graph-q spellcheck="false" placeholder="Buscar nodo..." aria-label="Buscar nodo en el grafo" />'
5686
+ + '<div class="pz-graph-suggest" data-pz-graph-suggest></div>'
5687
+ + '</div>'
5653
5688
  + '<div class="pz-graph-detail" data-pz-graph-detail>'
5654
5689
  + '<div class="pz-graph-detail-hint">' + escapeHtml(CONFIG.i18n.pzGraphHint) + '</div>'
5655
5690
  + '</div>'
@@ -7261,7 +7296,11 @@ function initGraphTab(it) {
7261
7296
  n.r = n.isRoot ? 17 : 2.5 + n.dr * 11;
7262
7297
  /* Relativistic distance to the center of mass: gamma-1 so the most-massive
7263
7298
  * node sits AT the center (targetDist 0) and leaves blow out. The project
7264
- * root is pinned dead-center -- it is the galaxy's black hole. */
7299
+ * root is pinned dead-center -- it is the galaxy's black hole. FIXED for
7300
+ * real: in dense-mesh graphs (many high-degree nodes, targetDist ~0 for
7301
+ * all) the crowd's repulsion used to expel the unpinned root to the edge
7302
+ * of the blob (foto Pablo 2026-07-16). */
7303
+ n.fixed = n.isRoot;
7265
7304
  const beta = Math.min(0.94, 1 - n.dr);
7266
7305
  n.targetDist = n.isRoot ? 0 : SPREAD * (1 / Math.sqrt(1 - beta * beta) - 1);
7267
7306
  /* seed on a golden-angle ring near the target so the sim converges fast */
@@ -7269,6 +7308,9 @@ function initGraphTab(it) {
7269
7308
  n.x = CX + Math.cos(a2) * n.targetDist * 0.6;
7270
7309
  n.y = CY + Math.sin(a2) * n.targetDist * 0.6;
7271
7310
  });
7311
+ /* The galaxy organizes AROUND the black hole (radial center = root).
7312
+ * Only graphs without a project root fall back to the center of mass. */
7313
+ const rootNode = nodes.find((n) => n.isRoot) || null;
7272
7314
  /* Layout cacheado: si el contenido no cambio, restaurar las posiciones ya
7273
7315
  * convergidas -> apertura INSTANTANEA (sin re-simular). */
7274
7316
  const _layHash = graphContentHash(String(it.content || ''));
@@ -7276,9 +7318,16 @@ function initGraphTab(it) {
7276
7318
  let _layRestored = false;
7277
7319
  if (_laySaved && _laySaved.hash === _layHash) {
7278
7320
  let hits = 0;
7321
+ /* The cache may come from another canvas geometry: shift every cached
7322
+ * position so the cached ROOT lands dead-center in the CURRENT canvas
7323
+ * (the root is pinned at CX,CY; without the shift the pinned root and
7324
+ * the restored galaxy would land in different places). */
7325
+ let shX = 0, shY = 0;
7326
+ const rp = rootNode ? _laySaved.pos[rootNode.id] : null;
7327
+ if (rp) { shX = CX - rp[0]; shY = CY - rp[1]; }
7279
7328
  for (const n of nodes) {
7280
7329
  const p = _laySaved.pos[n.id];
7281
- if (p) { n.x = p[0]; n.y = p[1]; hits++; }
7330
+ if (p) { n.x = p[0] + shX; n.y = p[1] + shY; hits++; }
7282
7331
  }
7283
7332
  _layRestored = hits >= nodes.length * 0.9;
7284
7333
  }
@@ -7546,11 +7595,17 @@ function initGraphTab(it) {
7546
7595
  let alpha = 1;
7547
7596
  const REPULSE = 6500, SPRING = 0.010, SPRING_LEN = 130, RADIAL = 0.05, DAMP = 0.85;
7548
7597
  function tick() {
7549
- /* Center of MASS, weighted by connection mass -- the galaxy re-centers on
7550
- * its hubs, not on the canvas middle. */
7551
- let mx = 0, my = 0, mt = 0;
7552
- for (const n of nodes) { const m = 0.3 + n.dr; mx += n.x * m; my += n.y * m; mt += m; }
7553
- const comX = mt ? mx / mt : CX, comY = mt ? my / mt : CY;
7598
+ /* Radial center = the BLACK HOLE (pinned at CX,CY) when the graph has a
7599
+ * project root, so the galaxy organizes around it -- same center the
7600
+ * orbit mode uses. Without a root, fall back to the center of MASS
7601
+ * weighted by connection mass (the galaxy re-centers on its hubs). */
7602
+ let comX, comY;
7603
+ if (rootNode) { comX = rootNode.x; comY = rootNode.y; }
7604
+ else {
7605
+ let mx = 0, my = 0, mt = 0;
7606
+ for (const n of nodes) { const m = 0.3 + n.dr; mx += n.x * m; my += n.y * m; mt += m; }
7607
+ comX = mt ? mx / mt : CX; comY = mt ? my / mt : CY;
7608
+ }
7554
7609
  for (let i = 0; i < nodes.length; i++) {
7555
7610
  const a = nodes[i];
7556
7611
  if (a.fixed) continue;
@@ -7679,7 +7734,9 @@ function initGraphTab(it) {
7679
7734
  paint();
7680
7735
  });
7681
7736
  g.addEventListener('pointerup', (evt) => {
7682
- if (drag && drag.node === g._node) { g._node.fixed = false; drag = null; }
7737
+ /* The root stays pinned (it is the galaxy's center); dragging it
7738
+ * relocates the whole galaxy around the new spot. */
7739
+ if (drag && drag.node === g._node) { g._node.fixed = g._node.isRoot; drag = null; }
7683
7740
  try { g.releasePointerCapture(evt.pointerId); } catch (e) { /* */ }
7684
7741
  });
7685
7742
  g.addEventListener('click', () => showDetail(g._node));
@@ -7701,6 +7758,155 @@ function initGraphTab(it) {
7701
7758
  svg.classList.toggle('pz-lod2', zoom.k >= 2.2);
7702
7759
  scheduleLabels();
7703
7760
  }
7761
+
7762
+ /* ---- Buscador de nodos + cohete RPAForce (local, cosmetico) ----
7763
+ * Buscas un nodo; al elegirlo, un cohetito verde fluo cruza el plano de la
7764
+ * ecliptica a warp con ruta de colision, la camara hace zoom mientras se
7765
+ * acerca, e impacta con explosion. Puro divertimento. */
7766
+ const qEl = canvas.parentNode ? canvas.parentNode.querySelector('[data-pz-graph-q]') : null;
7767
+ const sugEl = canvas.parentNode ? canvas.parentNode.querySelector('[data-pz-graph-suggest]') : null;
7768
+ const rsEl = canvas.parentNode ? canvas.parentNode.querySelector('[data-pz-rspeed]') : null;
7769
+ function galaxyBounds() {
7770
+ let a = 1e9, b = -1e9, c = 1e9, d = -1e9;
7771
+ for (const n of nodes) { if (n.x < a) a = n.x; if (n.x > b) b = n.x; if (n.y < c) c = n.y; if (n.y > d) d = n.y; }
7772
+ return { cx: (a + b) / 2, cy: (c + d) / 2, r: Math.max((b - a), (d - c)) / 2 || Math.min(W, H) / 2 };
7773
+ }
7774
+ let _rocketRAF = null, _rocketEl = null;
7775
+ function explode(node) {
7776
+ const boom = document.createElementNS(SVGNS, 'g');
7777
+ boom.setAttribute('transform', 'translate(' + node.x + ',' + node.y + ')');
7778
+ const flash = document.createElementNS(SVGNS, 'circle');
7779
+ flash.setAttribute('r', '2'); flash.setAttribute('fill', '#eafff0');
7780
+ const ring = document.createElementNS(SVGNS, 'circle');
7781
+ ring.setAttribute('r', '2'); ring.setAttribute('fill', 'none');
7782
+ ring.setAttribute('stroke', '#39ff14'); ring.setAttribute('stroke-width', '2.5');
7783
+ boom.appendChild(ring); boom.appendChild(flash);
7784
+ const parts = [];
7785
+ for (let i = 0; i < 16; i++) {
7786
+ const ang = (i / 16) * Math.PI * 2 + Math.random() * 0.3;
7787
+ const ln = document.createElementNS(SVGNS, 'line');
7788
+ ln.setAttribute('stroke', i % 2 ? '#c6ffb0' : '#39ff14');
7789
+ ln.setAttribute('stroke-width', '1.6'); ln.setAttribute('stroke-linecap', 'round');
7790
+ boom.appendChild(ln);
7791
+ parts.push({ el: ln, a: ang, len: 34 + Math.random() * 26 });
7792
+ }
7793
+ gZoom.appendChild(boom);
7794
+ /* pulso del nodo impactado */
7795
+ const hitG = nodeEls.find((g) => g._node === node);
7796
+ if (hitG) { hitG.classList.add('pz-node-hit'); setTimeout(() => hitG.classList.remove('pz-node-hit'), 650); }
7797
+ let s = null; const DUR = 720;
7798
+ function bf(ts) {
7799
+ if (s == null) s = ts;
7800
+ let p = (ts - s) / DUR; if (p > 1) p = 1;
7801
+ const R = 4 + p * 62;
7802
+ ring.setAttribute('r', String(R)); ring.setAttribute('opacity', String(1 - p));
7803
+ ring.setAttribute('stroke-width', String(2.5 * (1 - p) + 0.3));
7804
+ flash.setAttribute('r', String(2 + (p < 0.25 ? p * 40 : (1 - p) * 12)));
7805
+ flash.setAttribute('opacity', String(Math.max(0, 1 - p * 1.6)));
7806
+ for (const q of parts) {
7807
+ const r0 = 6 + p * q.len, r1 = r0 + 10 * (1 - p);
7808
+ q.el.setAttribute('x1', String(Math.cos(q.a) * r0)); q.el.setAttribute('y1', String(Math.sin(q.a) * r0));
7809
+ q.el.setAttribute('x2', String(Math.cos(q.a) * r1)); q.el.setAttribute('y2', String(Math.sin(q.a) * r1));
7810
+ q.el.setAttribute('opacity', String(1 - p));
7811
+ }
7812
+ if (p < 1) requestAnimationFrame(bf); else boom.remove();
7813
+ }
7814
+ requestAnimationFrame(bf);
7815
+ }
7816
+ function launchRocket(target) {
7817
+ if (!target) return;
7818
+ if (_rocketRAF) { cancelAnimationFrame(_rocketRAF); _rocketRAF = null; }
7819
+ if (_rocketEl) { _rocketEl.remove(); _rocketEl = null; }
7820
+ running = false; /* parar la fisica: la camara la maneja el cohete */
7821
+ showDetail(target);
7822
+ const gb = galaxyBounds();
7823
+ const side = target.x >= gb.cx ? -1 : 1; /* venir del lado opuesto -> cruza el plano */
7824
+ const start = { x: gb.cx + side * (gb.r * 1.9 + 280), y: gb.cy + (target.y - gb.cy) * 0.12 - side * 26 };
7825
+ const rocket = document.createElementNS(SVGNS, 'g');
7826
+ rocket.setAttribute('class', 'pz-rocket');
7827
+ rocket.innerHTML =
7828
+ '<path d="M -12 -3.4 L -95 -0.7 L -95 0.7 L -12 3.4 Z" fill="#39ff14" opacity="0.22"></path>'
7829
+ + '<path d="M -11 -1.7 L -74 0 L -11 1.7 Z" fill="#c6ffb0" opacity="0.55"></path>'
7830
+ + '<circle cx="1" cy="0" r="13" fill="#39ff14" opacity="0.12"></circle>'
7831
+ + '<path d="M -11 -2.2 L -20 0 L -11 2.2 Z" fill="#eafff0" opacity="0.95"></path>'
7832
+ + '<path d="M -7 -5.4 L -13 -8.6 L -8.5 -3.2 Z" fill="#2bd400"></path>'
7833
+ + '<path d="M -7 5.4 L -13 8.6 L -8.5 3.2 Z" fill="#2bd400"></path>'
7834
+ + '<path d="M 15 0 L -7 -5.2 L -11 0 L -7 5.2 Z" fill="#39ff14" stroke="#0a3b00" stroke-width="0.6"></path>'
7835
+ + '<circle cx="4.5" cy="0" r="2" fill="#eafff0"></circle>';
7836
+ gZoom.appendChild(rocket);
7837
+ _rocketEl = rocket;
7838
+ const z0k = zoom.k, z0x = zoom.x, z0y = zoom.y;
7839
+ const zTarget = Math.min(3.2, Math.max(2.4, z0k * 2.4));
7840
+ const ang = Math.atan2(target.y - start.y, target.x - start.x) * 180 / Math.PI;
7841
+ /* velocidad propia via el slider del cohete (lento -> rapido, exponencial).
7842
+ * El minimo es bien lento a proposito para seguir la trayectoria: v=0 ->
7843
+ * 6000ms, v=100 -> 450ms, default v=30 -> ~2760ms. */
7844
+ const _rv = rsEl ? (parseFloat(rsEl.value) || 0) : 30;
7845
+ let t0 = null; const DUR = Math.round(6000 * Math.pow(450 / 6000, _rv / 100));
7846
+ function frame(ts) {
7847
+ if (t0 == null) t0 = ts;
7848
+ let p = (ts - t0) / DUR; if (p > 1) p = 1;
7849
+ /* ease-in-out: arranca suave, cruza el plano a warp y DESACELERA al
7850
+ * llegar -- asi se aprecia la trayectoria completa. */
7851
+ const pe = p < 0.5 ? 4 * p * p * p : 1 - Math.pow(-2 * p + 2, 3) / 2;
7852
+ const cx = start.x + (target.x - start.x) * pe;
7853
+ const cy = start.y + (target.y - start.y) * pe;
7854
+ const sc = 1 + pe * 0.6; /* leve crecimiento del cohete */
7855
+ rocket.setAttribute('transform', 'translate(' + cx + ',' + cy + ') rotate(' + ang + ') scale(' + sc + ')');
7856
+ /* La camara queda QUIETA hasta que solo resta 1/4 de la distancia; recien
7857
+ * ahi el zoom abre (ease-out) y centra el nodo. Durante el resto se ve el
7858
+ * recorrido sin que la camara lo tape. */
7859
+ const ZS = 0.66;
7860
+ if (pe > ZS) {
7861
+ const zp = (pe - ZS) / (1 - ZS);
7862
+ const ze = zp * zp * (3 - 2 * zp); /* smoothstep: sin tiron, entra y sale suave */
7863
+ const zk = z0k + (zTarget - z0k) * ze;
7864
+ zoom.k = zk;
7865
+ zoom.x = z0x + (W / 2 - target.x * zk - z0x) * ze;
7866
+ zoom.y = z0y + (H / 2 - target.y * zk - z0y) * ze;
7867
+ applyZoom();
7868
+ }
7869
+ if (p >= 1) { rocket.remove(); _rocketEl = null; _rocketRAF = null; explode(target); return; }
7870
+ _rocketRAF = requestAnimationFrame(frame);
7871
+ }
7872
+ _rocketRAF = requestAnimationFrame(frame);
7873
+ }
7874
+ function graphMatches(q) {
7875
+ q = String(q || '').trim().toLowerCase();
7876
+ if (!q) return [];
7877
+ return nodes.filter((n) => n.label.toLowerCase().indexOf(q) !== -1
7878
+ || String(n.id).toLowerCase().indexOf(q) !== -1).slice(0, 8);
7879
+ }
7880
+ function renderSuggest() {
7881
+ if (!sugEl || !qEl) return;
7882
+ const ms = graphMatches(qEl.value);
7883
+ if (!ms.length) { sugEl.style.display = 'none'; sugEl.innerHTML = ''; return; }
7884
+ sugEl.innerHTML = ms.map((n, i) => '<div class="pz-graph-sug-item" data-i="' + i + '">'
7885
+ + escapeHtml(n.label) + '<span class="pz-graph-sug-kind">' + escapeHtml(String(n.kind || '')) + '</span></div>').join('');
7886
+ sugEl.style.display = 'block';
7887
+ sugEl._matches = ms;
7888
+ sugEl.querySelectorAll('.pz-graph-sug-item').forEach((el) => {
7889
+ /* mousedown + preventDefault: el input NO pierde foco, asi el valor
7890
+ * seleccionado queda fijo y no hay carrera con el handler de blur. */
7891
+ el.addEventListener('mousedown', (ev) => {
7892
+ ev.preventDefault();
7893
+ const n = ms[parseInt(el.getAttribute('data-i'), 10)];
7894
+ sugEl.style.display = 'none';
7895
+ if (n) { if (qEl) qEl.value = n.label; launchRocket(n); }
7896
+ });
7897
+ });
7898
+ }
7899
+ if (qEl && !qEl._wired) {
7900
+ qEl._wired = true;
7901
+ qEl.addEventListener('input', renderSuggest);
7902
+ qEl.addEventListener('keydown', (ev) => {
7903
+ if (ev.key === 'Enter') {
7904
+ const ms = graphMatches(qEl.value);
7905
+ if (ms.length) { qEl.value = ms[0].label; if (sugEl) sugEl.style.display = 'none'; launchRocket(ms[0]); }
7906
+ } else if (ev.key === 'Escape') { qEl.value = ''; if (sugEl) sugEl.style.display = 'none'; }
7907
+ });
7908
+ qEl.addEventListener('blur', () => setTimeout(() => { if (sugEl) sugEl.style.display = 'none'; }, 180));
7909
+ }
7704
7910
  /* Progressive labels: a label shows only when, at the CURRENT zoom, the
7705
7911
  * screen gap to the node's nearest neighbor exceeds the label's own width --
7706
7912
  * so labels never overlap/saturate; zooming in reveals more (progressive
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sourceRoot":"","sources":["../../src/chat/panel.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAu+SpB,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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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAwpTpB,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,79 +1,79 @@
1
- # Diagnostic-mode doctrine (Forge Embedded)
2
-
3
- Every product Forge builds can ship with a RESIDENT assistant: a copy that
4
- lives with the deployed system and supports it. This doctrine covers two
5
- things -- how to EMBED it when you build a project, and how to BEHAVE when you
6
- ARE the embedded assistant.
7
-
8
- ## 1. Embed it when you scaffold / finish a project
9
-
10
- When you create a new project (or finish a first slice of a real one), OFFER
11
- to embed the resident assistant, then run it:
12
-
13
- yf embed (or generateEmbedScaffold for the brain path)
14
-
15
- It writes, under `.forge/`:
16
- - profile.prod.json (read_only + pinned_root -- PROD diagnostic)
17
- - profile.uat.json (permissive + pinned_root -- UAT)
18
- - mission.md (WHAT the system is + WHERE its config lives)
19
- - db.json.example (connection for yujin.db.query -- operator fills it)
20
- - deploy/*.service (systemd units that declare YF_ENV=prod|uat, bind
21
- 127.0.0.1) + a deploy README
22
-
23
- The profiles are COMMITTED but INERT: a developer machine (no YF_ENV) keeps
24
- full-capability Forge; the server's unit/rpa.env declares YF_ENV=prod|uat and
25
- the assistant auto-assumes the guardrails.
26
-
27
- ENRICH the generated `mission.md` from what you actually know about the app:
28
- its config surface (tables, .env/.ini keys, services/ports) and the cases a
29
- support operator will ask about ("why did X not pass?", "why is Y stuck?").
30
- A generic template is worthless; the mission is your differentiator.
31
-
32
- ## 2. When you ARE the embedded assistant (read-only PROD)
33
-
34
- The profile prompt already states the posture; the essence:
35
- - DIAGNOSE with evidence: read code/config/logs, query the DB with
36
- yujin.db.query (SELECT-only), cite file:line. Do NOT shell out to mysql
37
- and do NOT invent an HTTP query endpoint.
38
- - You may run READ-ONLY shell (SELECT, curl GET to localhost, ls/cat/grep)
39
- -- use it, do not hand queries to the operator.
40
- - Emit PRECISE operator instructions for changes ("set field X to value V
41
- in <file/table>, verify with <check>"), one per change, in order.
42
- - Write reports (any type) under docs/ or .forge/diagnostics/.
43
- - Record findings as pendings so nothing is lost between sessions.
44
- - You are PINNED to this system: no re-anchoring, no writes outside the
45
- report dirs, no push/commit/lifecycle. Those stay with the operator.
46
-
47
- UAT is permissive: apply the change, verify it, THEN tell the operator the
48
- exact steps to replicate it in PROD.
49
-
50
- ## 3. The durable SYSTEM MAP (build once, read always)
51
-
52
- Re-discovering the whole system before every analysis is wasteful. Keep a
53
- durable map at `.forge/diagnostics/system-map.md` (a report dir -- you may
54
- write it even under read_only). The server injects it into your prompt as
55
- ground truth when it exists; when it does NOT, the prompt tells you to build
56
- it first. So:
57
-
58
- - **First session (map missing): BUILD it before diagnosing.** Investigate the
59
- real system (read code/config, `yujin.db.query`, the semantic graph) and
60
- write a thorough Markdown map. Suggested sections -- adapt to the project,
61
- drop what does not apply, add what does:
62
- 1. Identity -- stack, entrypoint, external integrations, secrets/vault.
63
- 2. Environments -- PROD vs UAT/others: paths, ports, services, credentials.
64
- 3. Components -- each process / bot / worker / service and what it does.
65
- 4. Lifecycle / main flows -- step by step, with an ASCII flow.
66
- 5. Integrations -- external APIs / queues / messaging and their circuits.
67
- 6. Auth / tokens -- validity, hashing, transport.
68
- 7. Database -- schema of the main tables + LIVE counts/distributions.
69
- 8. Data loads / mappings -- ETL / Excel / mappings / confidence levels, live.
70
- 9. Key files -- each relevant source and its function.
71
- 10. Background jobs -- what starts with the server.
72
- 11. Dependencies / secrets -- vault, external keys.
73
- 12. Diagnostic playbook -- systemctl / journalctl / SQL ready to copy-paste.
74
- 13. Operative rules -- read-only, PHI/regulatory, toggles, deploy windows.
75
- 14. Semantic graph -- reference the full graph (nodes + edges).
76
- - **Every session: READ the map first** (it is injected; read the full file if
77
- a section is truncated) and diagnose FROM it -- do not re-derive from scratch.
78
- - **Keep it fresh:** when you notice the map is stale (schema/config/files
79
- changed), update `.forge/diagnostics/system-map.md` in the same session.
1
+ # Diagnostic-mode doctrine (Forge Embedded)
2
+
3
+ Every product Forge builds can ship with a RESIDENT assistant: a copy that
4
+ lives with the deployed system and supports it. This doctrine covers two
5
+ things -- how to EMBED it when you build a project, and how to BEHAVE when you
6
+ ARE the embedded assistant.
7
+
8
+ ## 1. Embed it when you scaffold / finish a project
9
+
10
+ When you create a new project (or finish a first slice of a real one), OFFER
11
+ to embed the resident assistant, then run it:
12
+
13
+ yf embed (or generateEmbedScaffold for the brain path)
14
+
15
+ It writes, under `.forge/`:
16
+ - profile.prod.json (read_only + pinned_root -- PROD diagnostic)
17
+ - profile.uat.json (permissive + pinned_root -- UAT)
18
+ - mission.md (WHAT the system is + WHERE its config lives)
19
+ - db.json.example (connection for yujin.db.query -- operator fills it)
20
+ - deploy/*.service (systemd units that declare YF_ENV=prod|uat, bind
21
+ 127.0.0.1) + a deploy README
22
+
23
+ The profiles are COMMITTED but INERT: a developer machine (no YF_ENV) keeps
24
+ full-capability Forge; the server's unit/rpa.env declares YF_ENV=prod|uat and
25
+ the assistant auto-assumes the guardrails.
26
+
27
+ ENRICH the generated `mission.md` from what you actually know about the app:
28
+ its config surface (tables, .env/.ini keys, services/ports) and the cases a
29
+ support operator will ask about ("why did X not pass?", "why is Y stuck?").
30
+ A generic template is worthless; the mission is your differentiator.
31
+
32
+ ## 2. When you ARE the embedded assistant (read-only PROD)
33
+
34
+ The profile prompt already states the posture; the essence:
35
+ - DIAGNOSE with evidence: read code/config/logs, query the DB with
36
+ yujin.db.query (SELECT-only), cite file:line. Do NOT shell out to mysql
37
+ and do NOT invent an HTTP query endpoint.
38
+ - You may run READ-ONLY shell (SELECT, curl GET to localhost, ls/cat/grep)
39
+ -- use it, do not hand queries to the operator.
40
+ - Emit PRECISE operator instructions for changes ("set field X to value V
41
+ in <file/table>, verify with <check>"), one per change, in order.
42
+ - Write reports (any type) under docs/ or .forge/diagnostics/.
43
+ - Record findings as pendings so nothing is lost between sessions.
44
+ - You are PINNED to this system: no re-anchoring, no writes outside the
45
+ report dirs, no push/commit/lifecycle. Those stay with the operator.
46
+
47
+ UAT is permissive: apply the change, verify it, THEN tell the operator the
48
+ exact steps to replicate it in PROD.
49
+
50
+ ## 3. The durable SYSTEM MAP (build once, read always)
51
+
52
+ Re-discovering the whole system before every analysis is wasteful. Keep a
53
+ durable map at `.forge/diagnostics/system-map.md` (a report dir -- you may
54
+ write it even under read_only). The server injects it into your prompt as
55
+ ground truth when it exists; when it does NOT, the prompt tells you to build
56
+ it first. So:
57
+
58
+ - **First session (map missing): BUILD it before diagnosing.** Investigate the
59
+ real system (read code/config, `yujin.db.query`, the semantic graph) and
60
+ write a thorough Markdown map. Suggested sections -- adapt to the project,
61
+ drop what does not apply, add what does:
62
+ 1. Identity -- stack, entrypoint, external integrations, secrets/vault.
63
+ 2. Environments -- PROD vs UAT/others: paths, ports, services, credentials.
64
+ 3. Components -- each process / bot / worker / service and what it does.
65
+ 4. Lifecycle / main flows -- step by step, with an ASCII flow.
66
+ 5. Integrations -- external APIs / queues / messaging and their circuits.
67
+ 6. Auth / tokens -- validity, hashing, transport.
68
+ 7. Database -- schema of the main tables + LIVE counts/distributions.
69
+ 8. Data loads / mappings -- ETL / Excel / mappings / confidence levels, live.
70
+ 9. Key files -- each relevant source and its function.
71
+ 10. Background jobs -- what starts with the server.
72
+ 11. Dependencies / secrets -- vault, external keys.
73
+ 12. Diagnostic playbook -- systemctl / journalctl / SQL ready to copy-paste.
74
+ 13. Operative rules -- read-only, PHI/regulatory, toggles, deploy windows.
75
+ 14. Semantic graph -- reference the full graph (nodes + edges).
76
+ - **Every session: READ the map first** (it is injected; read the full file if
77
+ a section is truncated) and diagnose FROM it -- do not re-derive from scratch.
78
+ - **Keep it fresh:** when you notice the map is stale (schema/config/files
79
+ changed), update `.forge/diagnostics/system-map.md` in the same session.
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.87";
5
+ export declare const VERSION = "1.0.89";
6
6
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js 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 const VERSION = '1.0.87';
5
+ export const VERSION = '1.0.89';
6
6
  //# sourceMappingURL=version.js.map
@@ -1,79 +1,79 @@
1
- # Diagnostic-mode doctrine (Forge Embedded)
2
-
3
- Every product Forge builds can ship with a RESIDENT assistant: a copy that
4
- lives with the deployed system and supports it. This doctrine covers two
5
- things -- how to EMBED it when you build a project, and how to BEHAVE when you
6
- ARE the embedded assistant.
7
-
8
- ## 1. Embed it when you scaffold / finish a project
9
-
10
- When you create a new project (or finish a first slice of a real one), OFFER
11
- to embed the resident assistant, then run it:
12
-
13
- yf embed (or generateEmbedScaffold for the brain path)
14
-
15
- It writes, under `.forge/`:
16
- - profile.prod.json (read_only + pinned_root -- PROD diagnostic)
17
- - profile.uat.json (permissive + pinned_root -- UAT)
18
- - mission.md (WHAT the system is + WHERE its config lives)
19
- - db.json.example (connection for yujin.db.query -- operator fills it)
20
- - deploy/*.service (systemd units that declare YF_ENV=prod|uat, bind
21
- 127.0.0.1) + a deploy README
22
-
23
- The profiles are COMMITTED but INERT: a developer machine (no YF_ENV) keeps
24
- full-capability Forge; the server's unit/rpa.env declares YF_ENV=prod|uat and
25
- the assistant auto-assumes the guardrails.
26
-
27
- ENRICH the generated `mission.md` from what you actually know about the app:
28
- its config surface (tables, .env/.ini keys, services/ports) and the cases a
29
- support operator will ask about ("why did X not pass?", "why is Y stuck?").
30
- A generic template is worthless; the mission is your differentiator.
31
-
32
- ## 2. When you ARE the embedded assistant (read-only PROD)
33
-
34
- The profile prompt already states the posture; the essence:
35
- - DIAGNOSE with evidence: read code/config/logs, query the DB with
36
- yujin.db.query (SELECT-only), cite file:line. Do NOT shell out to mysql
37
- and do NOT invent an HTTP query endpoint.
38
- - You may run READ-ONLY shell (SELECT, curl GET to localhost, ls/cat/grep)
39
- -- use it, do not hand queries to the operator.
40
- - Emit PRECISE operator instructions for changes ("set field X to value V
41
- in <file/table>, verify with <check>"), one per change, in order.
42
- - Write reports (any type) under docs/ or .forge/diagnostics/.
43
- - Record findings as pendings so nothing is lost between sessions.
44
- - You are PINNED to this system: no re-anchoring, no writes outside the
45
- report dirs, no push/commit/lifecycle. Those stay with the operator.
46
-
47
- UAT is permissive: apply the change, verify it, THEN tell the operator the
48
- exact steps to replicate it in PROD.
49
-
50
- ## 3. The durable SYSTEM MAP (build once, read always)
51
-
52
- Re-discovering the whole system before every analysis is wasteful. Keep a
53
- durable map at `.forge/diagnostics/system-map.md` (a report dir -- you may
54
- write it even under read_only). The server injects it into your prompt as
55
- ground truth when it exists; when it does NOT, the prompt tells you to build
56
- it first. So:
57
-
58
- - **First session (map missing): BUILD it before diagnosing.** Investigate the
59
- real system (read code/config, `yujin.db.query`, the semantic graph) and
60
- write a thorough Markdown map. Suggested sections -- adapt to the project,
61
- drop what does not apply, add what does:
62
- 1. Identity -- stack, entrypoint, external integrations, secrets/vault.
63
- 2. Environments -- PROD vs UAT/others: paths, ports, services, credentials.
64
- 3. Components -- each process / bot / worker / service and what it does.
65
- 4. Lifecycle / main flows -- step by step, with an ASCII flow.
66
- 5. Integrations -- external APIs / queues / messaging and their circuits.
67
- 6. Auth / tokens -- validity, hashing, transport.
68
- 7. Database -- schema of the main tables + LIVE counts/distributions.
69
- 8. Data loads / mappings -- ETL / Excel / mappings / confidence levels, live.
70
- 9. Key files -- each relevant source and its function.
71
- 10. Background jobs -- what starts with the server.
72
- 11. Dependencies / secrets -- vault, external keys.
73
- 12. Diagnostic playbook -- systemctl / journalctl / SQL ready to copy-paste.
74
- 13. Operative rules -- read-only, PHI/regulatory, toggles, deploy windows.
75
- 14. Semantic graph -- reference the full graph (nodes + edges).
76
- - **Every session: READ the map first** (it is injected; read the full file if
77
- a section is truncated) and diagnose FROM it -- do not re-derive from scratch.
78
- - **Keep it fresh:** when you notice the map is stale (schema/config/files
79
- changed), update `.forge/diagnostics/system-map.md` in the same session.
1
+ # Diagnostic-mode doctrine (Forge Embedded)
2
+
3
+ Every product Forge builds can ship with a RESIDENT assistant: a copy that
4
+ lives with the deployed system and supports it. This doctrine covers two
5
+ things -- how to EMBED it when you build a project, and how to BEHAVE when you
6
+ ARE the embedded assistant.
7
+
8
+ ## 1. Embed it when you scaffold / finish a project
9
+
10
+ When you create a new project (or finish a first slice of a real one), OFFER
11
+ to embed the resident assistant, then run it:
12
+
13
+ yf embed (or generateEmbedScaffold for the brain path)
14
+
15
+ It writes, under `.forge/`:
16
+ - profile.prod.json (read_only + pinned_root -- PROD diagnostic)
17
+ - profile.uat.json (permissive + pinned_root -- UAT)
18
+ - mission.md (WHAT the system is + WHERE its config lives)
19
+ - db.json.example (connection for yujin.db.query -- operator fills it)
20
+ - deploy/*.service (systemd units that declare YF_ENV=prod|uat, bind
21
+ 127.0.0.1) + a deploy README
22
+
23
+ The profiles are COMMITTED but INERT: a developer machine (no YF_ENV) keeps
24
+ full-capability Forge; the server's unit/rpa.env declares YF_ENV=prod|uat and
25
+ the assistant auto-assumes the guardrails.
26
+
27
+ ENRICH the generated `mission.md` from what you actually know about the app:
28
+ its config surface (tables, .env/.ini keys, services/ports) and the cases a
29
+ support operator will ask about ("why did X not pass?", "why is Y stuck?").
30
+ A generic template is worthless; the mission is your differentiator.
31
+
32
+ ## 2. When you ARE the embedded assistant (read-only PROD)
33
+
34
+ The profile prompt already states the posture; the essence:
35
+ - DIAGNOSE with evidence: read code/config/logs, query the DB with
36
+ yujin.db.query (SELECT-only), cite file:line. Do NOT shell out to mysql
37
+ and do NOT invent an HTTP query endpoint.
38
+ - You may run READ-ONLY shell (SELECT, curl GET to localhost, ls/cat/grep)
39
+ -- use it, do not hand queries to the operator.
40
+ - Emit PRECISE operator instructions for changes ("set field X to value V
41
+ in <file/table>, verify with <check>"), one per change, in order.
42
+ - Write reports (any type) under docs/ or .forge/diagnostics/.
43
+ - Record findings as pendings so nothing is lost between sessions.
44
+ - You are PINNED to this system: no re-anchoring, no writes outside the
45
+ report dirs, no push/commit/lifecycle. Those stay with the operator.
46
+
47
+ UAT is permissive: apply the change, verify it, THEN tell the operator the
48
+ exact steps to replicate it in PROD.
49
+
50
+ ## 3. The durable SYSTEM MAP (build once, read always)
51
+
52
+ Re-discovering the whole system before every analysis is wasteful. Keep a
53
+ durable map at `.forge/diagnostics/system-map.md` (a report dir -- you may
54
+ write it even under read_only). The server injects it into your prompt as
55
+ ground truth when it exists; when it does NOT, the prompt tells you to build
56
+ it first. So:
57
+
58
+ - **First session (map missing): BUILD it before diagnosing.** Investigate the
59
+ real system (read code/config, `yujin.db.query`, the semantic graph) and
60
+ write a thorough Markdown map. Suggested sections -- adapt to the project,
61
+ drop what does not apply, add what does:
62
+ 1. Identity -- stack, entrypoint, external integrations, secrets/vault.
63
+ 2. Environments -- PROD vs UAT/others: paths, ports, services, credentials.
64
+ 3. Components -- each process / bot / worker / service and what it does.
65
+ 4. Lifecycle / main flows -- step by step, with an ASCII flow.
66
+ 5. Integrations -- external APIs / queues / messaging and their circuits.
67
+ 6. Auth / tokens -- validity, hashing, transport.
68
+ 7. Database -- schema of the main tables + LIVE counts/distributions.
69
+ 8. Data loads / mappings -- ETL / Excel / mappings / confidence levels, live.
70
+ 9. Key files -- each relevant source and its function.
71
+ 10. Background jobs -- what starts with the server.
72
+ 11. Dependencies / secrets -- vault, external keys.
73
+ 12. Diagnostic playbook -- systemctl / journalctl / SQL ready to copy-paste.
74
+ 13. Operative rules -- read-only, PHI/regulatory, toggles, deploy windows.
75
+ 14. Semantic graph -- reference the full graph (nodes + edges).
76
+ - **Every session: READ the map first** (it is injected; read the full file if
77
+ a section is truncated) and diagnose FROM it -- do not re-derive from scratch.
78
+ - **Keep it fresh:** when you notice the map is stale (schema/config/files
79
+ changed), update `.forge/diagnostics/system-map.md` in the same session.
package/package.json CHANGED
@@ -1,115 +1,115 @@
1
- {
2
- "name": "@nac3/forge-cli",
3
- "version": "1.0.87",
4
- "description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
5
- "license": "SEE LICENSE IN LICENSE",
6
- "author": "Pablo Kuschnirof <pablo@rpaforce.com>",
7
- "homepage": "https://github.com/yujinapp/yujin-forge#readme",
8
- "bugs": {
9
- "url": "https://github.com/yujinapp/yujin-forge/issues"
10
- },
11
- "bin": {
12
- "yf": "./dist/bin/yf.js"
13
- },
14
- "type": "module",
15
- "exports": {
16
- ".": "./dist/index.js"
17
- },
18
- "scripts": {
19
- "version": "node scripts/sync_version.mjs && git add src/version.ts",
20
- "build": "tsc && node scripts/copy_qa_assets.mjs",
21
- "dev": "tsx watch src/bin/yf.ts",
22
- "typecheck": "tsc --noEmit",
23
- "typecheck:all": "pnpm typecheck && pnpm --filter @yujin/hito4-server typecheck && pnpm --filter @yujin/forge-mobile typecheck",
24
- "test": "vitest run",
25
- "test:watch": "vitest",
26
- "lint": "tsc --noEmit",
27
- "yf": "tsx src/bin/yf.ts",
28
- "catalog:lint": "node scripts/catalog_lint.mjs",
29
- "pairing:check": "node scripts/check_pairing_sync.mjs",
30
- "brain-matrix:gate": "node scripts/brain_matrix_gate.mjs",
31
- "hito4:lint": "node scripts/hito4_lint_bundle.mjs",
32
- "publish-alpha-emergency": "node scripts/publish_alpha_emergency.mjs",
33
- "prepublishOnly": "pnpm run build && pnpm run typecheck && pnpm run catalog:lint && pnpm run test && pnpm run brain-matrix:gate && pnpm run hito4:lint"
34
- },
35
- "dependencies": {
36
- "@anthropic-ai/sdk": "^0.32.1",
37
- "@aws-sdk/client-ecs": "^3.1053.0",
38
- "@noble/ciphers": "^2.2.0",
39
- "@noble/hashes": "^2.2.0",
40
- "@scure/base": "^2.2.0",
41
- "better-sqlite3": "^12.10.0",
42
- "commander": "12.1.0",
43
- "dotenv": "^17.4.2",
44
- "kleur": "4.1.5",
45
- "mammoth": "^1.8.0",
46
- "node-html-parser": "6.1.13",
47
- "pdfjs-dist": "^4.10.38",
48
- "prompts": "2.4.2",
49
- "qrcode": "^1.5.4",
50
- "typescript": "5.7.2",
51
- "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
52
- },
53
- "devDependencies": {
54
- "@playwright/test": "^1.60.0",
55
- "@types/better-sqlite3": "^7.6.13",
56
- "@types/node": "22.10.2",
57
- "@types/prompts": "2.4.9",
58
- "@types/qrcode": "^1.5.6",
59
- "acorn": "^8.16.0",
60
- "pixelmatch": "^7.2.0",
61
- "pngjs": "^7.0.0",
62
- "tsx": "4.19.2",
63
- "vitest": "2.1.8"
64
- },
65
- "engines": {
66
- "node": ">=18.17",
67
- "pnpm": ">=9"
68
- },
69
- "packageManager": "pnpm@11.3.0",
70
- "files": [
71
- "dist",
72
- "templates",
73
- "docs/manuals",
74
- "docs/SQ.md",
75
- "docs/SQ_BY_STEP.yaml",
76
- "docs/doctrine",
77
- "src/i18n/catalogs",
78
- "yujin-design-system",
79
- "yujin-design-system-artdeco",
80
- "yujin-design-system-moderna",
81
- "yujin-design-system-marina",
82
- "README.md",
83
- "LICENSE"
84
- ],
85
- "keywords": [
86
- "nac",
87
- "nac-3",
88
- "react",
89
- "framework",
90
- "claude-code",
91
- "yujin",
92
- "voice",
93
- "whisper",
94
- "elevenlabs",
95
- "tts",
96
- "stt",
97
- "document-reader",
98
- "pdf",
99
- "docx",
100
- "epub",
101
- "spec-ingest",
102
- "scaffolding",
103
- "accessibility",
104
- "voice-first",
105
- "adip"
106
- ],
107
- "repository": {
108
- "type": "git",
109
- "url": "git+https://github.com/yujinapp/yujin-forge.git"
110
- },
111
- "publishConfig": {
112
- "access": "public",
113
- "tag": "latest"
114
- }
115
- }
1
+ {
2
+ "name": "@nac3/forge-cli",
3
+ "version": "1.0.89",
4
+ "description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
5
+ "license": "SEE LICENSE IN LICENSE",
6
+ "author": "Pablo Kuschnirof <pablo@rpaforce.com>",
7
+ "homepage": "https://github.com/yujinapp/yujin-forge#readme",
8
+ "bugs": {
9
+ "url": "https://github.com/yujinapp/yujin-forge/issues"
10
+ },
11
+ "bin": {
12
+ "yf": "./dist/bin/yf.js"
13
+ },
14
+ "type": "module",
15
+ "exports": {
16
+ ".": "./dist/index.js"
17
+ },
18
+ "scripts": {
19
+ "version": "node scripts/sync_version.mjs && git add src/version.ts",
20
+ "build": "tsc && node scripts/copy_qa_assets.mjs",
21
+ "dev": "tsx watch src/bin/yf.ts",
22
+ "typecheck": "tsc --noEmit",
23
+ "typecheck:all": "pnpm typecheck && pnpm --filter @yujin/hito4-server typecheck && pnpm --filter @yujin/forge-mobile typecheck",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest",
26
+ "lint": "tsc --noEmit",
27
+ "yf": "tsx src/bin/yf.ts",
28
+ "catalog:lint": "node scripts/catalog_lint.mjs",
29
+ "pairing:check": "node scripts/check_pairing_sync.mjs",
30
+ "brain-matrix:gate": "node scripts/brain_matrix_gate.mjs",
31
+ "hito4:lint": "node scripts/hito4_lint_bundle.mjs",
32
+ "publish-alpha-emergency": "node scripts/publish_alpha_emergency.mjs",
33
+ "prepublishOnly": "pnpm run build && pnpm run typecheck && pnpm run catalog:lint && pnpm run test && pnpm run brain-matrix:gate && pnpm run hito4:lint"
34
+ },
35
+ "dependencies": {
36
+ "@anthropic-ai/sdk": "^0.32.1",
37
+ "@aws-sdk/client-ecs": "^3.1053.0",
38
+ "@noble/ciphers": "^2.2.0",
39
+ "@noble/hashes": "^2.2.0",
40
+ "@scure/base": "^2.2.0",
41
+ "better-sqlite3": "^12.10.0",
42
+ "commander": "12.1.0",
43
+ "dotenv": "^17.4.2",
44
+ "kleur": "4.1.5",
45
+ "mammoth": "^1.8.0",
46
+ "node-html-parser": "6.1.13",
47
+ "pdfjs-dist": "^4.10.38",
48
+ "prompts": "2.4.2",
49
+ "qrcode": "^1.5.4",
50
+ "typescript": "5.7.2",
51
+ "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
52
+ },
53
+ "devDependencies": {
54
+ "@playwright/test": "^1.60.0",
55
+ "@types/better-sqlite3": "^7.6.13",
56
+ "@types/node": "22.10.2",
57
+ "@types/prompts": "2.4.9",
58
+ "@types/qrcode": "^1.5.6",
59
+ "acorn": "^8.16.0",
60
+ "pixelmatch": "^7.2.0",
61
+ "pngjs": "^7.0.0",
62
+ "tsx": "4.19.2",
63
+ "vitest": "2.1.8"
64
+ },
65
+ "engines": {
66
+ "node": ">=18.17",
67
+ "pnpm": ">=9"
68
+ },
69
+ "packageManager": "pnpm@11.3.0",
70
+ "files": [
71
+ "dist",
72
+ "templates",
73
+ "docs/manuals",
74
+ "docs/SQ.md",
75
+ "docs/SQ_BY_STEP.yaml",
76
+ "docs/doctrine",
77
+ "src/i18n/catalogs",
78
+ "yujin-design-system",
79
+ "yujin-design-system-artdeco",
80
+ "yujin-design-system-moderna",
81
+ "yujin-design-system-marina",
82
+ "README.md",
83
+ "LICENSE"
84
+ ],
85
+ "keywords": [
86
+ "nac",
87
+ "nac-3",
88
+ "react",
89
+ "framework",
90
+ "claude-code",
91
+ "yujin",
92
+ "voice",
93
+ "whisper",
94
+ "elevenlabs",
95
+ "tts",
96
+ "stt",
97
+ "document-reader",
98
+ "pdf",
99
+ "docx",
100
+ "epub",
101
+ "spec-ingest",
102
+ "scaffolding",
103
+ "accessibility",
104
+ "voice-first",
105
+ "adip"
106
+ ],
107
+ "repository": {
108
+ "type": "git",
109
+ "url": "git+https://github.com/yujinapp/yujin-forge.git"
110
+ },
111
+ "publishConfig": {
112
+ "access": "public",
113
+ "tag": "latest"
114
+ }
115
+ }