@nac3/forge-cli 1.0.68 → 1.0.70

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.
@@ -0,0 +1,24 @@
1
+ export interface ProbeResult {
2
+ id: string;
3
+ ok: boolean;
4
+ summary: string;
5
+ }
6
+ interface RunOut {
7
+ code: number;
8
+ stdout: string;
9
+ stderr: string;
10
+ }
11
+ export type Runner = (cmd: string, args: string[], timeoutMs: number) => Promise<RunOut>;
12
+ /** Parse `gh auth status` output into a one-line verdict. Exit 0 = logged
13
+ * in; the account line looks like "Logged in to github.com account X". */
14
+ export declare function parseGhAuth(code: number, stdout: string, stderr: string): ProbeResult;
15
+ /** Run all probes now and cache the result. */
16
+ export declare function refreshToolStatus(runner?: Runner): Promise<ProbeResult[]>;
17
+ /** Boot hook: probe now (fire-and-forget) + refresh every 10 min. */
18
+ export declare function startToolStatusRefresh(runner?: Runner): void;
19
+ /** For tests. */
20
+ export declare function _resetToolStatusForTest(): void;
21
+ /** Prompt section from the cached probes ('' before the first probe). */
22
+ export declare function toolStatusSection(): string;
23
+ export {};
24
+ //# sourceMappingURL=tool_status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool_status.d.ts","sourceRoot":"","sources":["../../src/chat/tool_status.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,MAAM;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACjE,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAgBzF;2EAC2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAOrF;AA8BD,+CAA+C;AAC/C,wBAAsB,iBAAiB,CAAC,MAAM,GAAE,MAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAI9F;AAED,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,MAAsB,GAAG,IAAI,CAK3E;AAED,iBAAiB;AACjB,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,IAAI,MAAM,CAe1C"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * tool_status -- VERIFIED environment/tool connectivity for the system
3
+ * prompt (Pablo 2026-07-10).
4
+ *
5
+ * Problem: the brain answered from memory that tools were disconnected
6
+ * ("gh no esta conectada en este entorno") when they WERE connected -- and
7
+ * only re-checked after the user pushed back. State must live VERIFIED in
8
+ * the prompt, not in the model's priors (same principle as the read-only
9
+ * gate: enforcement/facts over vibes).
10
+ *
11
+ * Design: cheap probes (gh auth status, git, node, npm, docker) run in
12
+ * PARALLEL at chat-server boot and refresh in the background every 10 min;
13
+ * the cached result renders as a TOOL STATUS section appended to
14
+ * systemDynamic each turn, stamped with the probe time. The section tells
15
+ * the brain: trust this over memory; re-probe live only if it changed.
16
+ *
17
+ * Failure mode: graceful -- a probe that errors/timeouts reports the tool
18
+ * as NOT AVAILABLE (which is exactly what a failed probe means); the
19
+ * section renders whatever was measured. Nothing here ever throws.
20
+ *
21
+ * ASCII-only.
22
+ */
23
+ import { execFile } from 'node:child_process';
24
+ const defaultRunner = (cmd, args, timeoutMs) => new Promise((resolve) => {
25
+ try {
26
+ execFile(cmd, args, { timeout: timeoutMs, windowsHide: true, shell: process.platform === 'win32' }, (err, stdout, stderr) => {
27
+ const code = err ? (typeof err.code === 'number' ? err.code : 1) : 0;
28
+ resolve({ code, stdout: String(stdout || ''), stderr: String(stderr || '') });
29
+ });
30
+ }
31
+ catch {
32
+ resolve({ code: 1, stdout: '', stderr: 'spawn failed' });
33
+ }
34
+ });
35
+ const PROBE_TIMEOUT_MS = 4000;
36
+ const REFRESH_MS = 10 * 60 * 1000;
37
+ /** Parse `gh auth status` output into a one-line verdict. Exit 0 = logged
38
+ * in; the account line looks like "Logged in to github.com account X". */
39
+ export function parseGhAuth(code, stdout, stderr) {
40
+ const text = stdout + '\n' + stderr; /* gh prints to stderr historically */
41
+ if (code === 0) {
42
+ const m = /account\s+(\S+)/i.exec(text) || /as\s+(\S+)/i.exec(text);
43
+ return { id: 'gh', ok: true, summary: 'CONECTADO' + (m ? ' (cuenta ' + m[1] + ')' : '') };
44
+ }
45
+ return { id: 'gh', ok: false, summary: 'NO autenticado (gh auth login)' };
46
+ }
47
+ function versionProbe(id, code, stdout) {
48
+ if (code === 0) {
49
+ const v = String(stdout).trim().split('\n')[0] || '';
50
+ return { id, ok: true, summary: 'disponible' + (v ? ' (' + v.slice(0, 60) + ')' : '') };
51
+ }
52
+ return { id, ok: false, summary: 'no disponible' };
53
+ }
54
+ async function runProbes(runner) {
55
+ const jobs = [
56
+ runner('gh', ['auth', 'status'], PROBE_TIMEOUT_MS)
57
+ .then((r) => parseGhAuth(r.code, r.stdout, r.stderr)),
58
+ runner('git', ['--version'], PROBE_TIMEOUT_MS)
59
+ .then((r) => versionProbe('git', r.code, r.stdout)),
60
+ runner('node', ['--version'], PROBE_TIMEOUT_MS)
61
+ .then((r) => versionProbe('node', r.code, r.stdout)),
62
+ runner('npm', ['--version'], PROBE_TIMEOUT_MS)
63
+ .then((r) => versionProbe('npm', r.code, r.stdout)),
64
+ runner('docker', ['--version'], PROBE_TIMEOUT_MS)
65
+ .then((r) => versionProbe('docker', r.code, r.stdout)),
66
+ ];
67
+ return Promise.all(jobs.map((p) => p.catch(() => ({ id: '?', ok: false, summary: 'probe error' }))));
68
+ }
69
+ let STATE = null;
70
+ let TIMER = null;
71
+ /** Run all probes now and cache the result. */
72
+ export async function refreshToolStatus(runner = defaultRunner) {
73
+ const results = await runProbes(runner);
74
+ STATE = { at: Date.now(), results };
75
+ return results;
76
+ }
77
+ /** Boot hook: probe now (fire-and-forget) + refresh every 10 min. */
78
+ export function startToolStatusRefresh(runner = defaultRunner) {
79
+ void refreshToolStatus(runner);
80
+ if (TIMER)
81
+ return;
82
+ TIMER = setInterval(() => { void refreshToolStatus(runner); }, REFRESH_MS);
83
+ if (typeof TIMER.unref === 'function')
84
+ TIMER.unref();
85
+ }
86
+ /** For tests. */
87
+ export function _resetToolStatusForTest() {
88
+ STATE = null;
89
+ if (TIMER) {
90
+ clearInterval(TIMER);
91
+ TIMER = null;
92
+ }
93
+ }
94
+ /** Prompt section from the cached probes ('' before the first probe). */
95
+ export function toolStatusSection() {
96
+ if (!STATE)
97
+ return '';
98
+ const hhmm = new Date(STATE.at).toISOString().slice(11, 16);
99
+ const lines = [
100
+ '',
101
+ '',
102
+ 'TOOL STATUS (SONDEADO EN VIVO a las ' + hhmm + ' UTC -- esto es estado',
103
+ 'VERIFICADO del entorno; conta con el, NO respondas de memoria que una',
104
+ 'herramienta "no esta conectada". Si necesitas re-verificar, sondea vos',
105
+ 'mismo (p.ej. shell `gh auth status`) en lugar de asumir):',
106
+ ];
107
+ for (const r of STATE.results) {
108
+ lines.push(' - ' + r.id + ': ' + r.summary);
109
+ }
110
+ return lines.join('\n');
111
+ }
112
+ //# sourceMappingURL=tool_status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool_status.js","sourceRoot":"","sources":["../../src/chat/tool_status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pizarron.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/pizarron.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGrE,eAAO,MAAM,qBAAqB,EAAE,QAkEnC,CAAC;AAMF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,CAqErB"}
1
+ {"version":3,"file":"pizarron.d.ts","sourceRoot":"","sources":["../../../src/chat/tools/pizarron.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIrE,eAAO,MAAM,qBAAqB,EAAE,QAkEnC,CAAC;AAMF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,CAyErB"}
@@ -1,4 +1,5 @@
1
1
  import { decideFlowTab } from '../flow_bpmn.js';
2
+ import { maybePromoteHtmlDoc } from '../html_doc_kind.js';
2
3
  export const SHOW_IN_PIZARRON_SPEC = {
3
4
  name: 'forge_show_in_pizarron',
4
5
  description: 'Surface STRUCTURED CONTENT (code, table, markdown doc, '
@@ -122,6 +123,11 @@ export async function runShowInPizarron(args, _ctx) {
122
123
  kind = decision.kind;
123
124
  content = decision.content;
124
125
  }
126
+ /* Generated full-HTML reports render as documents, never as source code
127
+ * (unreadable in the pizarron) -- Pablo 2026-07-10. */
128
+ const docFix = maybePromoteHtmlDoc({ kind, content, file_path: args.file_path });
129
+ if (docFix.promoted)
130
+ kind = docFix.kind;
125
131
  }
126
132
  /* Generate a stable-ish item id for the panel to use as a
127
133
  * data-nac-id later. */
@@ -1 +1 @@
1
- {"version":3,"file":"pizarron.js","sourceRoot":"","sources":["../../../src/chat/tools/pizarron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pizarron.js","sourceRoot":"","sources":["../../../src/chat/tools/pizarron.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"board_snapshot.d.ts","sourceRoot":"","sources":["../../src/relay/board_snapshot.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/E,CAAC;IACF;sDACkD;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QACzD,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAC5B,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,OAAO,CAAC;gBAAC,MAAM,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC,CAAC;KAC9H,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/F,CAAC;IAKF,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,MAAM,MAAM,SAAS,GACjB,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAC3C,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5D,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAE3C,CAAC;AAEF;;2EAE2E;AAC3E,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAW3E;AAED,oDAAoD;AACpD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,aAAa,CAAC,CA2DxB;AAUD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAgCpF"}
1
+ {"version":3,"file":"board_snapshot.d.ts","sourceRoot":"","sources":["../../src/relay/board_snapshot.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/E,CAAC;IACF;sDACkD;IAClD,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QACzD,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAC5B,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,OAAO,CAAC;gBAAC,MAAM,CAAC,EAAE,OAAO,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC,CAAC;KAC9H,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/F,CAAC;IAKF,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED,MAAM,MAAM,SAAS,GACjB,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAC3C,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE5D,eAAO,MAAM,WAAW,EAAE,SAAS,SAAS,EAE3C,CAAC;AAEF;;2EAE2E;AAC3E,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAW3E;AAED,oDAAoD;AACpD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAAC,aAAa,CAAC,CA2DxB;AAiBD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA8CpF"}
@@ -104,11 +104,15 @@ export async function buildBoardSnapshot(projectRoot, slug) {
104
104
  *
105
105
  * Same edge-fidelity rule: pick the EDGE-CONNECTED nodes first so no
106
106
  * edge is orphaned, then fill with the most relevant nodes. */
107
+ /* The worker rejects any relay event over 32KB -- and one oversized event
108
+ * 413s the WHOLE append batch. Budget the graph UNDER that with margin and
109
+ * SHRINK until it fits (bug 2026-07-10: a 300-node/600-edge graph of a rich
110
+ * project serialised to 73KB and poisoned every flush -> the phone lost the
111
+ * board: no project, no selector, stale chat). */
112
+ const GRAPH_BUDGET_BYTES = 30 * 1024;
107
113
  export async function buildGraphSnapshot(slug) {
108
114
  try {
109
115
  const { listRelevant, listAllEdges } = await import('../semantic_graph/store.js');
110
- const NODE_CAP = 300; /* own event budget -- far above the old 60 */
111
- const EDGE_CAP = 600;
112
116
  /* Exclude `comp.*` (function-level) nodes -- too granular + their long
113
117
  * ids blow the payload past 32KB. Same level the desktop graph shows
114
118
  * (modules / libs / tooling / protocol). */
@@ -117,32 +121,47 @@ export async function buildGraphSnapshot(slug) {
117
121
  if (!pool.length)
118
122
  return null;
119
123
  const byId = new Map(pool.map((n) => [n.id, n]));
120
- const allEdges = (await listAllEdges(slug)).slice(0, EDGE_CAP);
121
- const chosen = new Map();
122
- for (const e of allEdges) {
123
- if (chosen.size >= NODE_CAP)
124
- break;
125
- const a = byId.get(e.from_id);
126
- if (a)
127
- chosen.set(a.id, a);
128
- const b = byId.get(e.to_id);
129
- if (b)
130
- chosen.set(b.id, b);
131
- }
132
- for (const n of pool) {
133
- if (chosen.size >= NODE_CAP)
134
- break;
135
- if (!chosen.has(n.id))
136
- chosen.set(n.id, n);
137
- }
138
- const nodeIds = new Set(chosen.keys());
139
- const edges = allEdges.filter((e) => nodeIds.has(e.from_id) && nodeIds.has(e.to_id));
140
- return {
141
- nodes: [...chosen.values()].map((n) => ({
142
- id: n.id, label: n.name, kind: n.kind, group: nodeGroup(n.id, n.name, n.kind),
143
- })),
144
- edges: edges.map((e) => ({ from: e.from_id, to: e.to_id, kind: e.kind })),
124
+ const rawEdges = await listAllEdges(slug);
125
+ const buildWith = (nodeCap, edgeCap) => {
126
+ const allEdges = rawEdges.slice(0, edgeCap);
127
+ const chosen = new Map();
128
+ for (const e of allEdges) {
129
+ if (chosen.size >= nodeCap)
130
+ break;
131
+ const a = byId.get(e.from_id);
132
+ if (a)
133
+ chosen.set(a.id, a);
134
+ const b = byId.get(e.to_id);
135
+ if (b)
136
+ chosen.set(b.id, b);
137
+ }
138
+ for (const n of pool) {
139
+ if (chosen.size >= nodeCap)
140
+ break;
141
+ if (!chosen.has(n.id))
142
+ chosen.set(n.id, n);
143
+ }
144
+ const nodeIds = new Set(chosen.keys());
145
+ const edges = allEdges.filter((e) => nodeIds.has(e.from_id) && nodeIds.has(e.to_id));
146
+ return {
147
+ nodes: [...chosen.values()].map((n) => ({
148
+ id: n.id, label: n.name, kind: n.kind, group: nodeGroup(n.id, n.name, n.kind),
149
+ })),
150
+ edges: edges.map((e) => ({ from: e.from_id, to: e.to_id, kind: e.kind })),
151
+ };
145
152
  };
153
+ /* Shrink until it fits the relay budget: the phone prefers a SMALLER
154
+ * graph over NO graph (an oversized event never leaves the publisher). */
155
+ let nodeCap = 300, edgeCap = 600;
156
+ for (let i = 0; i < 6; i++) {
157
+ const snap = buildWith(nodeCap, edgeCap);
158
+ const bytes = Buffer.byteLength(JSON.stringify(snap), 'utf8');
159
+ if (bytes <= GRAPH_BUDGET_BYTES)
160
+ return snap;
161
+ nodeCap = Math.max(30, Math.floor(nodeCap / 2));
162
+ edgeCap = Math.max(60, Math.floor(edgeCap / 2));
163
+ }
164
+ return buildWith(30, 60);
146
165
  }
147
166
  catch {
148
167
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"board_snapshot.js","sourceRoot":"","sources":["../../src/relay/board_snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"board_snapshot.js","sourceRoot":"","sources":["../../src/relay/board_snapshot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relay_publisher.d.ts","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGhE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;6BACyB;IACzB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,IAAI,EAAE,kBAAkB;IAMpC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAGjD,mDAAmD;IACnD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG5D,sEAAsE;IACtE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAG/D;wBACoB;IACpB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG9C;;+BAE2B;IAC3B,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG3C;;kDAE8C;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGzD;;;kBAGc;IACd,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrD,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,QAAQ;IAMhB;qBACiB;IACX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B,yCAAyC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
1
+ {"version":3,"file":"relay_publisher.d.ts","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGhE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;6BACyB;IACzB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,IAAI,EAAE,kBAAkB;IAMpC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAGjD,mDAAmD;IACnD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG5D,sEAAsE;IACtE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAG/D;wBACoB;IACpB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG9C;;+BAE2B;IAC3B,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAG3C;;kDAE8C;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGzD;;;kBAGc;IACd,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrD,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,QAAQ;IAMhB;qBACiB;IACX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B,yCAAyC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
@@ -78,9 +78,27 @@ export class RelayPublisher {
78
78
  if (this.flushing || this.queue.length === 0)
79
79
  return;
80
80
  this.flushing = true;
81
- const batch = this.queue.splice(0, RELAY_LIMITS.maxEventsPerAppend);
81
+ let batch = this.queue.splice(0, RELAY_LIMITS.maxEventsPerAppend);
82
+ /* Worker contract: MAX 32KB per event payload -- and one oversized event
83
+ * 413s the WHOLE append, killing every innocent event in the batch
84
+ * (board + chat_reply included). Bug 2026-07-10: the graph snapshot of a
85
+ * big project (73KB) poisoned every flush -> the phone stopped receiving
86
+ * the board (no project, no selector, stale chat). Drop the oversized
87
+ * event ALONE, loudly, and let the rest of the batch through. */
88
+ batch = batch.filter((e) => {
89
+ const bytes = Buffer.byteLength(JSON.stringify(e.payload ?? {}), 'utf8');
90
+ if (bytes <= RELAY_LIMITS.maxPayloadBytes)
91
+ return true;
92
+ try {
93
+ console.error('[relay] evento "' + e.kind + '" descartado: ' + Math.round(bytes / 1024)
94
+ + 'KB > ' + Math.round(RELAY_LIMITS.maxPayloadBytes / 1024) + 'KB (cap del worker)');
95
+ }
96
+ catch { /* noop */ }
97
+ return false;
98
+ });
82
99
  try {
83
- await relayAppend(this.deps, 'desktop', batch);
100
+ if (batch.length > 0)
101
+ await relayAppend(this.deps, 'desktop', batch);
84
102
  }
85
103
  catch { /* relay best-effort; never break a turn */ }
86
104
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"relay_publisher.js","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay_publisher.js","sourceRoot":"","sources":["../../src/relay/relay_publisher.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * Yujin Forge CLI version. Kept in sync with package.json by the npm
3
3
  * "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
4
4
  */
5
- export declare const VERSION = "1.0.68";
5
+ export declare const VERSION = "1.0.70";
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.68';
5
+ export const VERSION = '1.0.70';
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nac3/forge-cli",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
4
4
  "description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Pablo Kuschnirof <pablo@rpaforce.com>",