@nac3/forge-cli 1.2.11 → 1.3.1

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":"board_artifacts.js","sourceRoot":"","sources":["../../src/chat/board_artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"board_artifacts.js","sourceRoot":"","sources":["../../src/chat/board_artifacts.ts"],"names":[],"mappings":"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"}
@@ -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,CAgyZxD"}
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,CA4sZxD"}
@@ -6149,217 +6149,133 @@ function renderWorkflowView(content) {
6149
6149
  * gateway?}], flows:[{from,to,label?}] }. Layout en capas izq->der
6150
6150
  * (longest-path), shapes BPMN (eventos=circulos, tareas=rect
6151
6151
  * redondeado, gateways=rombo con simbolo), flujos ortogonales con
6152
- * flecha + label, swimlanes opcionales. Estatico, estetica sumi-e. */
6153
- function bpmnWrap(s, maxChars, maxLines) {
6154
- var words = String(s == null ? '' : s).split(/\\s+/);
6155
- var lines = []; var cur = '';
6156
- for (var i = 0; i < words.length; i++) {
6157
- var w = words[i];
6158
- if (!cur) { cur = w; }
6159
- else if ((cur + ' ' + w).length <= maxChars) { cur += ' ' + w; }
6160
- else { lines.push(cur); cur = w; if (lines.length === maxLines - 1) break; }
6161
- }
6162
- if (cur && lines.length < maxLines) lines.push(cur);
6163
- if (lines.length === maxLines && (cur || words.length > 0)) {
6164
- var last = lines[maxLines - 1];
6165
- if (last && last.length > maxChars) lines[maxLines - 1] = last.slice(0, maxChars - 1) + '…';
6166
- }
6167
- return lines;
6152
+ * flecha + label, swimlanes opcionales. Estatico, estetica sumi-e.
6153
+ * Port del renderer del server (board_artifacts.renderFlowSvg, 2026-09-08):
6154
+ * Sugiyama simplificado -- columnas longest-path (Kahn) sobre el DAG, back-edges
6155
+ * de retrabajo detectados por DFS y ruteados por AFUERA (punteado), risers en el
6156
+ * hueco entre columnas, ruteo evasivo (bump) y alto de caja segun contenido.
6157
+ * OJO: vive dentro del template literal del panel, asi que los regex con \\
6158
+ * deben ir DOBLADOS (/\\s+/) y los iconos como \\u.... para no colapsar. */
6159
+ function flowWrap(label, maxChars, maxLines) {
6160
+ maxChars = maxChars || 20; maxLines = maxLines || 5;
6161
+ var words = String(label == null ? '' : label).split(/\\s+/).filter(function (w) { return w; });
6162
+ var lines = [], cur = '';
6163
+ for (var i = 0; i < words.length; i++) { var w = words[i]; var test = cur ? cur + ' ' + w : w; if (test.length > maxChars && cur) { lines.push(cur); cur = w; } else { cur = test; } }
6164
+ if (cur) lines.push(cur);
6165
+ if (lines.length > maxLines) { var kept = lines.slice(0, maxLines - 1); var rest = lines.slice(maxLines - 1).join(' '); kept.push(rest.length > maxChars ? rest.slice(0, maxChars - 1) + '.' : rest); return kept; }
6166
+ return lines.length ? lines : [''];
6168
6167
  }
6169
-
6170
6168
  function renderBpmnView(content) {
6171
- var m;
6172
- try { m = JSON.parse(content); } catch (e) {
6173
- return '<div class="pz-bpmn-empty">El flujo BPMN espera JSON { nodes, flows, lanes? }. No pude parsear el content.</div>';
6174
- }
6175
- if (!m || !Array.isArray(m.nodes) || m.nodes.length === 0) {
6176
- return '<div class="pz-bpmn-empty">Sin nodos en el flujo.</div>';
6177
- }
6178
- var nodes = m.nodes.filter(function (n) { return n && n.id; });
6179
- var flows = Array.isArray(m.flows) ? m.flows.filter(function (f) { return f && f.from && f.to; }) : [];
6180
- var lanes = Array.isArray(m.lanes) ? m.lanes.filter(function (l) { return l && l.id; }) : [];
6181
- /* podar lanes vacias (declaradas sin nodos -> banda en blanco confusa, foto de
6182
- * la lane 4 vacia). Se conservan solo las lanes con al menos un nodo. */
6183
- var usedLaneIds = {}; nodes.forEach(function (n) { if (n.lane != null && String(n.lane)) usedLaneIds[String(n.lane)] = 1; });
6184
- lanes = lanes.filter(function (l) { return usedLaneIds[l.id]; });
6185
- var byId = {}; nodes.forEach(function (n) { byId[n.id] = n; });
6186
- /* Layout compartido (espejo de src/chat/flow_layout.ts): capas por
6187
- * longest-path, reduccion de cruces por mediana, y bandas de lane de altura
6188
- * variable con espaciado anti-colision. Reemplaza el apilado de altura fija
6189
- * que superponia nodos cuando una celda (lane,col) tenia mas de uno. */
6190
- var COL_W = 178, PAD = 30, LANE_PAD = 18, LANE_MIN = 116;
6191
- var EVENT_H = 36, GATE_H = 46, TASK_H = 54, LABEL_LH = 13, LABEL_GAP = 12, NODE_GAP = 20;
6192
- var LW_CHARS = 20, LW_LINES = 3;
6193
- var hasLanes = lanes.length > 0;
6194
- var LANE_LBL = hasLanes ? 30 : 0, TOP_LANES = 8, TOP_PLAIN = 26;
6195
- var isEvt = function (t) { return /^(start|end|intermediate|event$)/.test(t); };
6196
- var isGw = function (t) { return /^(gateway|decision|fork|join|merge)/.test(t); };
6197
- /* footprint = altura total que necesita el nodo (forma + lineas de label). */
6198
- var footprint = function (n) {
6199
- var t = String(n.type || 'task'), lbl = String(n.label || '');
6200
- if (isEvt(t)) { var le = lbl ? bpmnWrap(lbl, LW_CHARS, LW_LINES).length : 0; return EVENT_H + (le ? LABEL_GAP + le * LABEL_LH : 0); }
6201
- if (isGw(t)) { var lg = lbl ? bpmnWrap(lbl, LW_CHARS, LW_LINES).length : 0; return GATE_H + (lg ? LABEL_GAP + lg * LABEL_LH : 0); }
6202
- return TASK_H;
6203
- };
6204
- var topHalf = function (n) { var t = String(n.type || 'task'); return (isEvt(t) ? EVENT_H : isGw(t) ? GATE_H : TASK_H) / 2; };
6205
- var laneIdx = {}; lanes.forEach(function (l, i) { laneIdx[l.id] = i; });
6206
- var layer = {}; nodes.forEach(function (n) { layer[n.id] = 0; });
6207
- for (var it = 0; it < nodes.length; it++) {
6208
- var changed = false;
6209
- for (var k = 0; k < flows.length; k++) {
6210
- var f = flows[k];
6211
- if (byId[f.from] && byId[f.to] && layer[f.to] < layer[f.from] + 1) { layer[f.to] = layer[f.from] + 1; changed = true; }
6212
- }
6213
- if (!changed) break;
6214
- }
6215
- /* compactar columnas: un ciclo infla las capas longest-path dejando columnas
6216
- * vacias (grafico estirado con hueco en el medio, foto2). En un DAG no hay
6217
- * columnas vacias -> no-op; en uno ciclico remapea las capas usadas a indices
6218
- * consecutivos y cierra los huecos. */
6219
- var usedLayers = []; var seenL = {};
6220
- nodes.forEach(function (n) { var v = layer[n.id] || 0; if (!seenL[v]) { seenL[v] = 1; usedLayers.push(v); } });
6221
- usedLayers.sort(function (a, b) { return a - b; });
6222
- var remapL = {}; usedLayers.forEach(function (v, i) { remapL[v] = i; });
6223
- nodes.forEach(function (n) { layer[n.id] = remapL[layer[n.id] || 0]; });
6224
- var maxCol = usedLayers.length - 1;
6225
- var laneOf = function (n) { return hasLanes ? ((n.lane != null && laneIdx[n.lane] != null) ? laneIdx[n.lane] : 0) : 0; };
6226
- var cell = {}; var cellKey = function (li, col) { return li + ':' + col; };
6227
- nodes.forEach(function (n) { var kk = cellKey(laneOf(n), layer[n.id]); (cell[kk] = cell[kk] || []).push(n.id); });
6228
- /* reduccion de cruces: mediana de predecesores/sucesores, pocas pasadas. */
6229
- var preds = {}, succs = {}; nodes.forEach(function (n) { preds[n.id] = []; succs[n.id] = []; });
6230
- flows.forEach(function (f) { if (byId[f.from] && byId[f.to]) { succs[f.from].push(f.to); preds[f.to].push(f.from); } });
6231
- var rank = {};
6232
- var reindex = function () { for (var kk in cell) cell[kk].forEach(function (id, i) { rank[id] = i; }); };
6233
- reindex();
6234
- var median = function (ids) { if (!ids.length) return -1; var rs = ids.map(function (i) { return rank[i] || 0; }).sort(function (a, b) { return a - b; }); return rs[Math.floor(rs.length / 2)] || 0; };
6235
- for (var sweep = 0; sweep < 4; sweep++) {
6236
- var usePreds = sweep % 2 === 0;
6237
- for (var kk in cell) {
6238
- var a2 = cell[kk]; if (a2.length < 2) continue;
6239
- a2.sort(function (x, y) {
6240
- var mx = median(usePreds ? preds[x] : succs[x]); if (mx < 0) mx = rank[x] || 0;
6241
- var my = median(usePreds ? preds[y] : succs[y]); if (my < 0) my = rank[y] || 0;
6242
- return (mx - my) || ((rank[x] || 0) - (rank[y] || 0));
6243
- });
6244
- }
6245
- reindex();
6246
- }
6247
- var stackHeight = function (ids) { if (!ids.length) return 0; var h = 0; ids.forEach(function (id, i) { h += footprint(byId[id]); if (i) h += NODE_GAP; }); return h; };
6248
- var placeCell = function (ids, x, top, band) {
6249
- var sh = stackHeight(ids); var cursor = top + Math.max(LANE_PAD, (band - sh) / 2);
6250
- ids.forEach(function (id) { var n = byId[id]; n._x = x; n._y = cursor + topHalf(n); cursor += footprint(n) + NODE_GAP; });
6251
- };
6252
- var laneBands = [];
6253
- if (hasLanes) {
6254
- var bandH = lanes.map(function (_l, li) { var mx = 0; for (var c = 0; c <= maxCol; c++) { var aa = cell[cellKey(li, c)]; if (aa) mx = Math.max(mx, stackHeight(aa)); } return Math.max(LANE_MIN, mx + 2 * LANE_PAD); });
6255
- var bandTop = []; var acc = TOP_LANES; for (var i = 0; i < lanes.length; i++) { bandTop[i] = acc; acc += bandH[i]; }
6256
- for (var li = 0; li < lanes.length; li++) {
6257
- for (var c3 = 0; c3 <= maxCol; c3++) {
6258
- var ids3 = cell[cellKey(li, c3)]; if (!ids3 || !ids3.length) continue;
6259
- placeCell(ids3, PAD + LANE_LBL + c3 * COL_W + COL_W / 2, bandTop[li], bandH[li]);
6260
- }
6261
- }
6262
- for (var li4 = 0; li4 < lanes.length; li4++) laneBands.push({ label: String(lanes[li4].label || lanes[li4].id), y: bandTop[li4], h: bandH[li4] });
6263
- var W = PAD + LANE_LBL + (maxCol + 1) * COL_W + PAD;
6264
- var H = acc + PAD;
6265
- } else {
6266
- var maxStackH = 0; for (var c2 = 0; c2 <= maxCol; c2++) { var aa2 = cell[cellKey(0, c2)]; if (aa2) maxStackH = Math.max(maxStackH, stackHeight(aa2)); }
6267
- var band0 = Math.max(LANE_MIN - 2 * LANE_PAD, maxStackH);
6268
- for (var cc = 0; cc <= maxCol; cc++) {
6269
- var arr2 = cell[cellKey(0, cc)]; if (!arr2 || !arr2.length) continue;
6270
- placeCell(arr2, PAD + cc * COL_W + COL_W / 2, TOP_PLAIN, band0);
6271
- }
6272
- var W = PAD + (maxCol + 1) * COL_W + PAD;
6273
- var H = TOP_PLAIN + band0 + PAD;
6274
- }
6275
- var P = { ink: '#1a1a1a', indigo: '#4f5b87', amber: '#c8a04d', tea: '#6f8b5e', vermilion: '#c8472e', line: '#b8ad95', washi: '#f5f0e6', bg2: '#ece6d8' };
6276
- /* Auto-resize fix (Pablo 2026-06-16): a wide-flat flow (W >> H) used to
6277
- * be scaled DOWN to the tab width (width:100%), shrinking the nodes to an
6278
- * unreadable band with dead space below. min-width = the intrinsic width
6279
- * keeps nodes at their designed size: a narrow flow still fills the width
6280
- * (scaled up), a wide one renders 1:1 and the container scrolls. */
6281
- var svg = '<svg class="pz-bpmn-svg" viewBox="0 0 ' + Math.round(W) + ' ' + Math.round(H) + '"'
6282
- + ' style="min-width:' + Math.round(W) + 'px"'
6283
- + ' preserveAspectRatio="xMinYMin meet" xmlns="http://www.w3.org/2000/svg">';
6284
- svg += '<defs><marker id="bpmn-arrow" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto" markerUnits="strokeWidth">'
6285
- + '<path d="M0,0 L7,3 L0,6 z" fill="' + P.ink + '"/></marker></defs>';
6286
- /* swimlanes (bandas de altura variable) */
6287
- if (hasLanes) {
6288
- for (var li2 = 0; li2 < laneBands.length; li2++) {
6289
- var band = laneBands[li2]; var ly = band.y;
6290
- svg += '<rect x="' + PAD + '" y="' + ly + '" width="' + (W - 2 * PAD) + '" height="' + band.h + '" fill="' + (li2 % 2 ? 'rgba(0,0,0,0.025)' : 'transparent') + '" stroke="' + P.line + '" stroke-width="1"/>';
6291
- svg += '<text x="' + (PAD + 14) + '" y="' + (ly + band.h / 2) + '" transform="rotate(-90 ' + (PAD + 14) + ' ' + (ly + band.h / 2) + ')" text-anchor="middle" font-size="11" fill="' + P.indigo + '" font-weight="600">' + escapeHtml(String(band.label)) + '</text>';
6292
- }
6293
- }
6294
- /* separacion de ramas (foto): varios flujos que salen de un gateway (o
6295
- * convergen en un merge) compartian el mismo codo -> verticales y labels
6296
- * Si/No pegados. Se desplaza el codo de cada hermano por su indice. */
6297
- var fOutN = {}, fInN = {}, outSeen = {}, inSeen = {}, outIdx = [], inIdx = [];
6298
- var isFwd = function (f) { var a = byId[f.from], b = byId[f.to]; return !!a && !!b && (b._x || 0) >= (a._x || 0); };
6299
- flows.forEach(function (f) { if (!isFwd(f)) return; fOutN[f.from] = (fOutN[f.from] || 0) + 1; fInN[f.to] = (fInN[f.to] || 0) + 1; });
6300
- flows.forEach(function (f, i) { if (!isFwd(f)) { outIdx[i] = 0; inIdx[i] = 0; return; } outSeen[f.from] = (outSeen[f.from] == null ? 0 : outSeen[f.from] + 1); inSeen[f.to] = (inSeen[f.to] == null ? 0 : inSeen[f.to] + 1); outIdx[i] = outSeen[f.from]; inIdx[i] = inSeen[f.to]; });
6301
- var SEPX = 16, SEPY = 11;
6302
- /* flujos (debajo de los nodos) */
6303
- flows.forEach(function (f, i) {
6304
- var a = byId[f.from], b = byId[f.to]; if (!a || !b) return;
6305
- var ar = bpmnHalf(a), br = bpmnHalf(b);
6306
- var forward = (b._x >= a._x);
6307
- /* hermanos que comparten origen/destino salen y llegan a y distintas y
6308
- * doblan en x distinta -> se juntan solo en el nodo (sin doble linea). */
6309
- var oN = fOutN[f.from] || 1, iN = fInN[f.to] || 1;
6310
- var outO = oN > 1 ? ((outIdx[i] || 0) - (oN - 1) / 2) : 0;
6311
- var inO = iN > 1 ? ((inIdx[i] || 0) - (iN - 1) / 2) : 0;
6312
- var sx = a._x + (forward ? ar : -ar), tx = b._x - (forward ? br : -br);
6313
- var sy = a._y + outO * SEPY, ty = b._y + inO * SEPY;
6314
- var midx = Math.max(sx + 10, Math.min(tx - 10, (sx + tx) / 2 + outO * SEPX + inO * (SEPX * 0.6)));
6315
- var d;
6316
- if (Math.abs(sy - ty) < 2) { d = 'M' + sx + ',' + sy + ' L' + tx + ',' + ty; }
6317
- else if (forward) { d = 'M' + sx + ',' + sy + ' L' + midx + ',' + sy + ' L' + midx + ',' + ty + ' L' + tx + ',' + ty; }
6318
- else { /* loop hacia atras: por abajo */ var down = Math.max(a._y, b._y) + 46; d = 'M' + (a._x) + ',' + (a._y + ar) + ' L' + a._x + ',' + down + ' L' + b._x + ',' + down + ' L' + b._x + ',' + (b._y + br); }
6319
- svg += '<path d="' + d + '" fill="none" stroke="' + P.ink + '" stroke-width="1.4" marker-end="url(#bpmn-arrow)" opacity="0.8"/>';
6320
- if (f.label) {
6321
- var lx = forward ? midx : ((a._x + b._x) / 2), lyy = forward ? (sy + ty) / 2 - 4 : (Math.max(a._y, b._y) + 42);
6322
- svg += '<rect x="' + (lx - String(f.label).length * 3.1 - 3) + '" y="' + (lyy - 9) + '" width="' + (String(f.label).length * 6.2 + 6) + '" height="13" fill="' + P.washi + '" opacity="0.9"/>';
6323
- svg += '<text x="' + lx + '" y="' + (lyy + 1) + '" text-anchor="middle" font-size="10" fill="' + P.ink + '">' + escapeHtml(String(f.label)) + '</text>';
6324
- }
6325
- });
6326
- /* nodos */
6327
- nodes.forEach(function (n) {
6328
- var x = n._x, y = n._y, type = String(n.type || 'task');
6329
- /* eventos por PREFIJO: "sendTask" ya no se confunde con end (send incluye "end"). */
6330
- var isEnd = /^end/.test(type), isStart = /^start/.test(type);
6331
- if (isStart || isEnd || /^intermediate/.test(type) || type === 'event') {
6332
- var r = 18, sw = isEnd ? 3.4 : 1.6;
6333
- var stroke = isStart ? P.tea : (isEnd ? P.vermilion : P.indigo);
6334
- svg += '<circle cx="' + x + '" cy="' + y + '" r="' + r + '" fill="' + P.washi + '" stroke="' + stroke + '" stroke-width="' + sw + '"/>';
6335
- if (type.indexOf('intermediate') >= 0) svg += '<circle cx="' + x + '" cy="' + y + '" r="' + (r - 3.5) + '" fill="none" stroke="' + stroke + '" stroke-width="1.2"/>';
6336
- if (n.label) { var els = bpmnWrap(String(n.label), LW_CHARS, LW_LINES); for (var le2 = 0; le2 < els.length; le2++) svg += '<text x="' + x + '" y="' + (y + r + LABEL_GAP + le2 * LABEL_LH) + '" text-anchor="middle" font-size="10.5" fill="' + P.ink + '">' + escapeHtml(els[le2]) + '</text>'; }
6337
- } else if (/gateway|decision|fork|join|merge/.test(type)) {
6338
- var g = 23, gk = String(n.gateway || (/parallel|fork|join/.test(type) ? 'parallel' : 'exclusive'));
6339
- svg += '<path d="M' + x + ',' + (y - g) + ' L' + (x + g) + ',' + y + ' L' + x + ',' + (y + g) + ' L' + (x - g) + ',' + y + ' z" fill="' + P.washi + '" stroke="' + P.amber + '" stroke-width="1.8"/>';
6340
- var sym = gk.charAt(0) === 'p' ? '+' : (gk.charAt(0) === 'i' ? 'O' : '\\u00d7');
6341
- svg += '<text x="' + x + '" y="' + (y + 5) + '" text-anchor="middle" font-size="16" fill="' + P.amber + '" font-weight="700">' + sym + '</text>';
6342
- if (n.label) { var gls = bpmnWrap(String(n.label), LW_CHARS, LW_LINES); for (var lg2 = 0; lg2 < gls.length; lg2++) svg += '<text x="' + x + '" y="' + (y + g + LABEL_GAP + lg2 * LABEL_LH) + '" text-anchor="middle" font-size="10.5" fill="' + P.ink + '">' + escapeHtml(gls[lg2]) + '</text>'; }
6343
- } else {
6344
- var tw = 118, th = 54;
6345
- svg += '<rect x="' + (x - tw / 2) + '" y="' + (y - th / 2) + '" width="' + tw + '" height="' + th + '" rx="9" fill="' + P.bg2 + '" stroke="' + P.indigo + '" stroke-width="1.4"/>';
6346
- var ic = { userTask: '\\u263a', serviceTask: '\\u2699', scriptTask: '\\u25b8', manualTask: '\\u270b', sendTask: '\\u2709', receiveTask: '\\u2709' }[type];
6347
- if (ic) svg += '<text x="' + (x - tw / 2 + 9) + '" y="' + (y - th / 2 + 14) + '" font-size="11" fill="' + P.indigo + '">' + ic + '</text>';
6348
- var ls = bpmnWrap(n.label || n.id, 17, 3);
6349
- var ty0 = y - (ls.length - 1) * 7;
6350
- for (var li3 = 0; li3 < ls.length; li3++) svg += '<text x="' + x + '" y="' + (ty0 + li3 * 14 + 4) + '" text-anchor="middle" font-size="11.5" fill="' + P.ink + '">' + escapeHtml(ls[li3]) + '</text>';
6351
- }
6352
- });
6353
- svg += '</svg>';
6169
+ var m; try { m = JSON.parse(content); } catch (e) { return '<div class="pz-bpmn-empty">El flujo BPMN espera JSON { nodes, flows, lanes? }. No pude parsear el content.</div>'; }
6170
+ if (!m || !Array.isArray(m.nodes) || m.nodes.length === 0) return '<div class="pz-bpmn-empty">Sin nodos en el flujo.</div>';
6171
+ var C = { NODE_W: 150, NODE_MIN_H: 56, LINE_H: 14, FONT_SIZE: 11.5, CPL: 20, MAXL: 5, EVENT_R: 20, GW_HALF: 25, COL_GAP: 210, ROW_GAP: 28, LEFT: 26, LANELBL: 40, RIGHT: 40, TOP: 10, BOT: 14, LOOP: 50 };
6172
+ var COL = { bg: '#f5f0e6', laneStroke: '#b8ad95', laneLabel: '#4f5b87', laneAlt: 'rgba(0,0,0,0.025)', edge: '#1a1a1a', loop: '#8a6d3b', taskFill: '#ece6d8', taskStroke: '#4f5b87', startStroke: '#6f8b5e', endStroke: '#c8472e', gwStroke: '#c8a04d', text: '#1a1a1a' };
6173
+ var ICON = { serviceTask: '\\u2699', userTask: '\\u263a', sendTask: '\\u27a4', receiveTask: '\\u2709', scriptTask: '\\u2261' };
6174
+ var allNodes = m.nodes.filter(function (n) { return n && n.id; });
6175
+ if (!allNodes.length) return '<div class="pz-bpmn-empty">Sin nodos en el flujo.</div>';
6176
+ var flows0 = Array.isArray(m.flows) ? m.flows.filter(function (f) { return f && f.from && f.to; }) : [];
6177
+ var used = {}; allNodes.forEach(function (n) { if (n.lane != null && String(n.lane)) used[String(n.lane)] = 1; });
6178
+ var lanesArr = (Array.isArray(m.lanes) ? m.lanes.filter(function (l) { return l && l.id; }) : []).filter(function (l) { return used[l.id]; });
6179
+ var hasLanes = lanesArr.length > 0;
6180
+ if (!hasLanes) lanesArr = [{ id: '__main', label: '' }];
6181
+ var laneOrder = lanesArr.map(function (l) { return l.id; });
6182
+ var laneSet = {}; laneOrder.forEach(function (l) { laneSet[l] = 1; });
6183
+ var laneLabel = {}; lanesArr.forEach(function (l) { laneLabel[l.id] = String(l.label == null ? l.id : l.label); });
6184
+ var LANELBLW = hasLanes ? C.LANELBL : 0;
6185
+ var nodeById = {}, nodeIds = [];
6186
+ allNodes.forEach(function (n) { var lane = (n.lane != null && laneSet[String(n.lane)]) ? String(n.lane) : laneOrder[0]; var nn = {}; for (var k in n) nn[k] = n[k]; nn.lane = lane; nodeById[n.id] = nn; nodeIds.push(n.id); });
6187
+ var flows = flows0.filter(function (f) { return nodeById[f.from] && nodeById[f.to]; });
6188
+ var adj = {}; nodeIds.forEach(function (id) { adj[id] = []; }); flows.forEach(function (f) { adj[f.from].push(f.to); });
6189
+ var state = {}; nodeIds.forEach(function (id) { state[id] = 0; }); var back = {};
6190
+ function dfs(u) { state[u] = 1; var vs = adj[u] || []; for (var i = 0; i < vs.length; i++) { var v = vs[i]; if (state[v] === undefined) continue; if (state[v] === 1) back[u + '->' + v] = 1; else if (state[v] === 0) dfs(v); } state[u] = 2; }
6191
+ nodeIds.forEach(function (id) { if (state[id] === 0) dfs(id); });
6192
+ var fwdAdj = {}, fwdIndeg = {}; nodeIds.forEach(function (id) { fwdAdj[id] = []; fwdIndeg[id] = 0; });
6193
+ var forwardFlows = [], loopFlows = [];
6194
+ flows.forEach(function (f) { if (back[f.from + '->' + f.to]) loopFlows.push(f); else { forwardFlows.push(f); fwdAdj[f.from].push(f.to); fwdIndeg[f.to]++; } });
6195
+ var col = {}; nodeIds.forEach(function (id) { col[id] = 0; }); var indeg = {}; nodeIds.forEach(function (id) { indeg[id] = fwdIndeg[id]; });
6196
+ var queue = nodeIds.filter(function (id) { return indeg[id] === 0; }); var seen = {}; queue.forEach(function (id) { seen[id] = 1; }); var head = 0;
6197
+ while (head < queue.length) { var u = queue[head++]; var vs = fwdAdj[u] || []; for (var i = 0; i < vs.length; i++) { var v = vs[i]; col[v] = Math.max(col[v], col[u] + 1); indeg[v]--; if (indeg[v] === 0 && !seen[v]) { seen[v] = 1; queue.push(v); } } }
6198
+ function nodeGeom(node) {
6199
+ var lines = flowWrap(node.label == null ? node.id : node.label, C.CPL, C.MAXL); var t = String(node.type || 'task');
6200
+ if (/^start/.test(t) || /^end/.test(t) || /^intermediate/.test(t) || t === 'event') { var shape = /^end/.test(t) ? 'endEvent' : 'startEvent'; return { shape: shape, connHalfW: C.EVENT_R, topExtent: C.EVENT_R + 6, bottomExtent: C.EVENT_R + 10 + lines.length * C.LINE_H, lines: lines }; }
6201
+ if (/^(gateway|decision|fork|join|merge)/.test(t)) { return { shape: 'gateway', connHalfW: C.GW_HALF, topExtent: C.GW_HALF + 6, bottomExtent: C.GW_HALF + 10 + lines.length * C.LINE_H, lines: lines }; }
6202
+ var hasIcon = !!ICON[t]; var halfH = Math.max(C.NODE_MIN_H, lines.length * C.LINE_H + (hasIcon ? 26 : 18)) / 2;
6203
+ return { shape: 'task', connHalfW: C.NODE_W / 2, topExtent: halfH, bottomExtent: halfH, lines: lines };
6204
+ }
6205
+ var geom = {}; nodeIds.forEach(function (id) { geom[id] = nodeGeom(nodeById[id]); });
6206
+ var laneBuckets = {}; laneOrder.forEach(function (l) { laneBuckets[l] = {}; });
6207
+ nodeIds.forEach(function (id) { var n = nodeById[id]; var c = col[id]; var bk = laneBuckets[n.lane]; if (!bk[c]) bk[c] = []; bk[c].push(id); });
6208
+ function bucketHeight(ids) { var h = 0; for (var i = 0; i < ids.length; i++) { var g = geom[ids[i]]; h += g.topExtent + g.bottomExtent; if (i < ids.length - 1) h += C.ROW_GAP; } return h; }
6209
+ var laneHeight = {}; laneOrder.forEach(function (lane) { var mx = 0; var bk = laneBuckets[lane]; for (var c in bk) mx = Math.max(mx, bucketHeight(bk[c])); laneHeight[lane] = Math.max(mx, C.NODE_MIN_H) + 2 * C.ROW_GAP; });
6210
+ var laneTop = {}; var cursorY = C.TOP; laneOrder.forEach(function (lane) { laneTop[lane] = cursorY; cursorY += laneHeight[lane]; });
6211
+ var pos = {};
6212
+ laneOrder.forEach(function (lane) { var bk = laneBuckets[lane]; var top = laneTop[lane]; var total = laneHeight[lane] - 2 * C.ROW_GAP;
6213
+ for (var c in bk) { var ids = bk[c]; var bh = bucketHeight(ids); var offset = (total - bh) / 2; var y = top + C.ROW_GAP + offset; var cx = C.LEFT + LANELBLW + C.NODE_W / 2 + Number(c) * C.COL_GAP;
6214
+ for (var i = 0; i < ids.length; i++) { var id = ids[i]; var g = geom[id]; pos[id] = { cx: cx, cy: y + g.topExtent, col: Number(c) }; y += g.topExtent + g.bottomExtent + C.ROW_GAP; } } });
6215
+ var maxCol = 0; nodeIds.forEach(function (id) { if (col[id] > maxCol) maxCol = col[id]; });
6216
+ var width = C.LEFT + LANELBLW + C.NODE_W / 2 + maxCol * C.COL_GAP + C.NODE_W / 2 + C.RIGHT;
6217
+ var height = cursorY - C.ROW_GAP + C.BOT + (loopFlows.length ? C.LOOP : 0);
6218
+ function nodeBox(id) { var p = pos[id]; var g = geom[id]; var halfW = g.shape === 'task' ? C.NODE_W / 2 : g.connHalfW; return { x0: p.cx - halfW, x1: p.cx + halfW, y0: p.cy - g.topExtent, y1: p.cy + g.bottomExtent }; }
6219
+ var EPS = 0.5;
6220
+ function segmentHits(points, exclude) { var hits = []; for (var i = 0; i < points.length - 1; i++) { var x1 = points[i][0], y1 = points[i][1], x2 = points[i + 1][0], y2 = points[i + 1][1]; var horizontal = Math.abs(y1 - y2) < EPS;
6221
+ for (var j = 0; j < nodeIds.length; j++) { var id = nodeIds[j]; if (exclude[id]) continue; var box = nodeBox(id);
6222
+ if (horizontal) { var y = y1; var xLo = Math.min(x1, x2) + EPS; var xHi = Math.max(x1, x2) - EPS; if (y > box.y0 + EPS && y < box.y1 - EPS && xHi > box.x0 && xLo < box.x1) hits.push({ segIndex: i, id: id, box: box, horizontal: true }); }
6223
+ else { var x = x1; var yLo = Math.min(y1, y2) + EPS; var yHi = Math.max(y1, y2) - EPS; if (x > box.x0 + EPS && x < box.x1 - EPS && yHi > box.y0 && yLo < box.y1) hits.push({ segIndex: i, id: id, box: box, horizontal: false }); } } }
6224
+ return hits; }
6225
+ function bumpSegment(points, hit) { var i = hit.segIndex; var x1 = points[i][0], y1 = points[i][1], x2 = points[i + 1][0], y2 = points[i + 1][1]; var GAP = 14;
6226
+ if (hit.horizontal) { var above = hit.box.y0 - GAP; var below = hit.box.y1 + GAP; var newY = Math.abs(above - y1) <= Math.abs(below - y1) ? above : below; var dir = x2 >= x1 ? 1 : -1;
6227
+ var enterX = dir === 1 ? Math.max(x1, hit.box.x0 - GAP) : Math.min(x1, hit.box.x1 + GAP); var exitX = dir === 1 ? Math.min(x2, hit.box.x1 + GAP) : Math.max(x2, hit.box.x0 - GAP);
6228
+ return points.slice(0, i + 1).concat([[enterX, y1], [enterX, newY], [exitX, newY], [exitX, y2]], points.slice(i + 1)); }
6229
+ var left = hit.box.x0 - GAP; var right = hit.box.x1 + GAP; var newX = Math.abs(left - x1) <= Math.abs(right - x1) ? left : right; var dir2 = y2 >= y1 ? 1 : -1;
6230
+ var enterY = dir2 === 1 ? Math.max(y1, hit.box.y0 - GAP) : Math.min(y1, hit.box.y1 + GAP); var exitY = dir2 === 1 ? Math.min(y2, hit.box.y1 + GAP) : Math.max(y2, hit.box.y0 - GAP);
6231
+ return points.slice(0, i + 1).concat([[x1, enterY], [newX, enterY], [newX, exitY], [x2, exitY]], points.slice(i + 1)); }
6232
+ function routeAvoiding(initial, exclude) { var points = initial; for (var iter = 0; iter < 8; iter++) { var hits = segmentHits(points, exclude); if (!hits.length) return points; points = bumpSegment(points, hits[0]); } return points; }
6233
+ function pathFrom(points) { var s = ''; for (var i = 0; i < points.length; i++) { s += (i === 0 ? 'M' : 'L') + points[i][0].toFixed(1) + ',' + points[i][1].toFixed(1); if (i < points.length - 1) s += ' '; } return s; }
6234
+ function connPoint(id, side) { var p = pos[id]; var g = geom[id]; return { x: side === 'out' ? p.cx + g.connHalfW : p.cx - g.connHalfW, y: p.cy }; }
6235
+ var svg = '';
6236
+ svg += '<svg class="pz-bpmn-svg" viewBox="0 0 ' + width.toFixed(0) + ' ' + height.toFixed(0) + '" style="min-width:' + width.toFixed(0) + 'px" preserveAspectRatio="xMinYMin meet" xmlns="http://www.w3.org/2000/svg">';
6237
+ svg += '<rect x="0" y="0" width="' + width.toFixed(0) + '" height="' + height.toFixed(0) + '" fill="' + COL.bg + '"/>';
6238
+ svg += '<defs><marker id="bpmn-arrow" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto" markerUnits="strokeWidth"><path d="M0,0 L7,3 L0,6 z" fill="' + COL.edge + '"/></marker>' +
6239
+ '<marker id="bpmn-arrow-loop" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto" markerUnits="strokeWidth"><path d="M0,0 L7,3 L0,6 z" fill="' + COL.loop + '"/></marker></defs>';
6240
+ if (hasLanes) { for (var li = 0; li < laneOrder.length; li++) { var lane = laneOrder[li]; var ltop = laneTop[lane]; var lh = laneHeight[lane]; var fill = li % 2 === 1 ? COL.laneAlt : 'transparent';
6241
+ svg += '<rect x="' + C.LEFT + '" y="' + ltop.toFixed(1) + '" width="' + (width - C.LEFT - C.RIGHT).toFixed(1) + '" height="' + lh.toFixed(1) + '" fill="' + fill + '" stroke="' + COL.laneStroke + '" stroke-width="1"/>';
6242
+ var midY = ltop + lh / 2; svg += '<text x="' + (C.LEFT + 14).toFixed(1) + '" y="' + midY.toFixed(1) + '" transform="rotate(-90 ' + (C.LEFT + 14).toFixed(1) + ' ' + midY.toFixed(1) + ')" text-anchor="middle" font-size="11" fill="' + COL.laneLabel + '" font-weight="600">' + escapeHtml(laneLabel[lane] || lane) + '</text>'; } }
6243
+ for (var fi = 0; fi < forwardFlows.length; fi++) { var f = forwardFlows[fi]; var a = connPoint(f.from, 'out'); var b = connPoint(f.to, 'in'); var points;
6244
+ if (Math.abs(a.y - b.y) < 0.5) { points = [[a.x, a.y], [b.x, b.y]]; }
6245
+ else { var srcColX = C.LEFT + LANELBLW + C.NODE_W / 2 + pos[f.from].col * C.COL_GAP; var midX = srcColX + C.COL_GAP / 2; points = [[a.x, a.y], [midX, a.y], [midX, b.y], [b.x, b.y]]; }
6246
+ var ex = {}; ex[f.from] = 1; ex[f.to] = 1; points = routeAvoiding(points, ex);
6247
+ svg += '<path d="' + pathFrom(points) + '" fill="none" stroke="' + COL.edge + '" stroke-width="1.4" marker-end="url(#bpmn-arrow)" opacity="0.85"/>';
6248
+ if (f.label) { var lx = (a.x + b.x) / 2; var ly = Math.abs(a.y - b.y) < 0.5 ? a.y - 6 : (a.y + b.y) / 2; var lw = String(f.label).length * 6.2 + 6;
6249
+ svg += '<rect x="' + (lx - lw / 2).toFixed(1) + '" y="' + (ly - 9.5).toFixed(1) + '" width="' + lw.toFixed(1) + '" height="13" fill="' + COL.bg + '" opacity="0.9"/>';
6250
+ svg += '<text x="' + lx.toFixed(1) + '" y="' + (ly + 0.5).toFixed(1) + '" text-anchor="middle" font-size="10" fill="' + COL.text + '">' + escapeHtml(String(f.label)) + '</text>'; } }
6251
+ var laneBottom = cursorY - C.ROW_GAP;
6252
+ for (var lpi = 0; lpi < loopFlows.length; lpi++) { var lf = loopFlows[lpi]; var la = pos[lf.from]; var lag = geom[lf.from]; var lb = pos[lf.to]; var lbg = geom[lf.to];
6253
+ var loopY = laneBottom + 22 + lpi * 14; var off = 8; var goesLeft = lb.col <= la.col;
6254
+ var srcGutterX = goesLeft ? Math.max(C.LEFT + LANELBLW + 12, la.cx - C.COL_GAP / 2) : la.cx + C.COL_GAP / 2;
6255
+ var dstGutterX = goesLeft ? lb.cx + C.COL_GAP / 2 : Math.max(C.LEFT + LANELBLW + 12, lb.cx - C.COL_GAP / 2);
6256
+ var srcSideX = goesLeft ? la.cx - lag.connHalfW : la.cx + lag.connHalfW; var dstSideX = goesLeft ? lb.cx + lbg.connHalfW : lb.cx - lbg.connHalfW;
6257
+ var srcY = la.cy + off; var dstY = lb.cy + off;
6258
+ var lpoints = [[srcSideX, srcY], [srcGutterX, srcY], [srcGutterX, loopY], [dstGutterX, loopY], [dstGutterX, dstY], [dstSideX, dstY]];
6259
+ var lex = {}; lex[lf.from] = 1; lex[lf.to] = 1; lpoints = routeAvoiding(lpoints, lex);
6260
+ svg += '<path d="' + pathFrom(lpoints) + '" fill="none" stroke="' + COL.loop + '" stroke-width="1.4" stroke-dasharray="5 3" marker-end="url(#bpmn-arrow-loop)" opacity="0.9"/>';
6261
+ if (lf.label) { var llx = (srcGutterX + dstGutterX) / 2; var llw = String(lf.label).length * 6.2 + 6;
6262
+ svg += '<rect x="' + (llx - llw / 2).toFixed(1) + '" y="' + (loopY - 9.5).toFixed(1) + '" width="' + llw.toFixed(1) + '" height="13" fill="' + COL.bg + '" opacity="0.9"/>';
6263
+ svg += '<text x="' + llx.toFixed(1) + '" y="' + (loopY + 0.5).toFixed(1) + '" text-anchor="middle" font-size="10" fill="' + COL.loop + '">' + escapeHtml(String(lf.label)) + '</text>'; } }
6264
+ for (var ni = 0; ni < nodeIds.length; ni++) { var id2 = nodeIds[ni]; var n2 = nodeById[id2]; var p2 = pos[id2]; var g2 = geom[id2];
6265
+ if (g2.shape === 'startEvent' || g2.shape === 'endEvent') { var stroke = g2.shape === 'startEvent' ? COL.startStroke : COL.endStroke; var sw = g2.shape === 'startEvent' ? 1.6 : 3.4;
6266
+ svg += '<circle cx="' + p2.cx.toFixed(1) + '" cy="' + p2.cy.toFixed(1) + '" r="' + C.EVENT_R + '" fill="' + COL.bg + '" stroke="' + stroke + '" stroke-width="' + sw + '"/>';
6267
+ var ely = p2.cy + C.EVENT_R + 12; for (var k = 0; k < g2.lines.length; k++) { svg += '<text x="' + p2.cx.toFixed(1) + '" y="' + ely.toFixed(1) + '" text-anchor="middle" font-size="10.5" fill="' + COL.text + '">' + escapeHtml(g2.lines[k]) + '</text>'; ely += C.LINE_H; } }
6268
+ else if (g2.shape === 'gateway') { var gx0 = p2.cx - C.GW_HALF, gx1 = p2.cx + C.GW_HALF, gy0 = p2.cy - C.GW_HALF, gy1 = p2.cy + C.GW_HALF;
6269
+ svg += '<path d="M' + p2.cx.toFixed(1) + ',' + gy0.toFixed(1) + ' L' + gx1.toFixed(1) + ',' + p2.cy.toFixed(1) + ' L' + p2.cx.toFixed(1) + ',' + gy1.toFixed(1) + ' L' + gx0.toFixed(1) + ',' + p2.cy.toFixed(1) + ' z" fill="' + COL.bg + '" stroke="' + COL.gwStroke + '" stroke-width="1.8"/>';
6270
+ var mark = n2.gateway === 'parallel' ? '+' : n2.gateway === 'inclusive' ? 'O' : '\\u00d7';
6271
+ svg += '<text x="' + p2.cx.toFixed(1) + '" y="' + (p2.cy + 5).toFixed(1) + '" text-anchor="middle" font-size="16" fill="' + COL.gwStroke + '" font-weight="700">' + mark + '</text>';
6272
+ var gly = p2.cy + C.GW_HALF + 15; for (var k2 = 0; k2 < g2.lines.length; k2++) { svg += '<text x="' + p2.cx.toFixed(1) + '" y="' + gly.toFixed(1) + '" text-anchor="middle" font-size="10.5" fill="' + COL.text + '">' + escapeHtml(g2.lines[k2]) + '</text>'; gly += C.LINE_H; } }
6273
+ else { var w2 = C.NODE_W; var hh = g2.topExtent + g2.bottomExtent; var rx = p2.cx - w2 / 2; var ry = p2.cy - hh / 2;
6274
+ svg += '<rect x="' + rx.toFixed(1) + '" y="' + ry.toFixed(1) + '" width="' + w2 + '" height="' + hh.toFixed(1) + '" rx="9" fill="' + COL.taskFill + '" stroke="' + COL.taskStroke + '" stroke-width="1.4"/>';
6275
+ var icon = ICON[String(n2.type || '')]; if (icon) svg += '<text x="' + (rx + 9).toFixed(1) + '" y="' + (ry + 15).toFixed(1) + '" font-size="11" fill="' + COL.taskStroke + '">' + icon + '</text>';
6276
+ var ty = ry + (icon ? 26 : 16); for (var k3 = 0; k3 < g2.lines.length; k3++) { svg += '<text x="' + p2.cx.toFixed(1) + '" y="' + ty.toFixed(1) + '" text-anchor="middle" font-size="' + C.FONT_SIZE + '" fill="' + COL.text + '">' + escapeHtml(g2.lines[k3]) + '</text>'; ty += C.LINE_H; } } }
6354
6277
  return svg;
6355
6278
  }
6356
- /* mitad del ancho/alto del nodo para anclar los flujos al borde. */
6357
- function bpmnHalf(n) {
6358
- var type = String(n.type || 'task');
6359
- if (/start|^event$|end|intermediate/.test(type)) return 18;
6360
- if (/gateway|decision|fork|join|merge/.test(type)) return 23;
6361
- return 59;
6362
- }
6363
6279
 
6364
6280
  const CODING_TAB_ID = 'coding_canvas';
6365
6281
  const yfCoding = {