@aiderdesk/aiderdesk 0.64.0 → 0.66.0

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.
Files changed (60) hide show
  1. package/out/cli.js +1 -0
  2. package/out/{open-telemetry-CcefKvbB.js → open-telemetry-baOvr6sK.js} +1 -1
  3. package/out/renderer/assets/{arc-DoIK-bD2.js → arc-BXuUWHai.js} +1 -1
  4. package/out/renderer/assets/{architectureDiagram-Q4EWVU46-B8_dgBXp.js → architectureDiagram-3BPJPVTR-Bm9oFTP_.js} +11 -9
  5. package/out/renderer/assets/{blockDiagram-DXYQGD6D-BDOvGPDN.js → blockDiagram-GPEHLZMM-DQ2DevZl.js} +218 -30
  6. package/out/renderer/assets/{c4Diagram-AHTNJAMY-1ABZnJ2v.js → c4Diagram-AAUBKEIU-BdR46VbA.js} +2 -2
  7. package/out/renderer/assets/{channel-Cr_H2zdE.js → channel-DUdp1NJ7.js} +1 -1
  8. package/out/renderer/assets/{chunk-EDXVE4YY-Dt80V_EG.js → chunk-2J33WTMH-Dzi-idRV.js} +1 -1
  9. package/out/renderer/assets/{chunk-4BX2VUAB-d88VZY9C.js → chunk-4BX2VUAB-DEyFpixF.js} +1 -1
  10. package/out/renderer/assets/{chunk-55IACEB6-BO1oJBQV.js → chunk-55IACEB6-DyyQMIZa.js} +1 -1
  11. package/out/renderer/assets/{chunk-4TB4RGXK-DLcMuHVI.js → chunk-727SXJPM-vXEiesCP.js} +245 -149
  12. package/out/renderer/assets/{chunk-OYMX7WX6-DBFhtMcs.js → chunk-AQP2D5EJ-B0SWmbrS.js} +92 -78
  13. package/out/renderer/assets/{chunk-FMBD7UC4-D5MNbIWZ.js → chunk-FMBD7UC4-CoPwvBCa.js} +1 -1
  14. package/out/renderer/assets/{chunk-YZCP3GAM-gAcMGuhT.js → chunk-ND2GUHAM-ku5t5SwP.js} +1 -1
  15. package/out/renderer/assets/{chunk-QZHKN3VN-Bxwt_pyh.js → chunk-QZHKN3VN-DBGBAqit.js} +1 -1
  16. package/out/renderer/assets/{classDiagram-6PBFFD2Q-B7lgamMP.js → classDiagram-4FO5ZUOK-DTyjsHX9.js} +6 -6
  17. package/out/renderer/assets/{classDiagram-v2-HSJHXN6E-B7lgamMP.js → classDiagram-v2-Q7XG4LA2-DTyjsHX9.js} +6 -6
  18. package/out/renderer/assets/{cose-bilkent-S5V4N54A-BZNBIG2x.js → cose-bilkent-S5V4N54A-wGfE9wIx.js} +1 -1
  19. package/out/renderer/assets/{dagre-KV5264BT-C3hXUNb-.js → dagre-BM42HDAG-cwyj1-l0.js} +17 -6
  20. package/out/renderer/assets/{diagram-MMDJMWI5-BcI1Ek4N.js → diagram-2AECGRRQ-BYvCxkOs.js} +3 -5
  21. package/out/renderer/assets/{diagram-5BDNPKRD-DNh45EqP.js → diagram-5GNKFQAL--ZlqvgmY.js} +4 -6
  22. package/out/renderer/assets/diagram-KO2AKTUF-CoPNrPhx.js +632 -0
  23. package/out/renderer/assets/{diagram-TYMM5635-DuHcW-s7.js → diagram-LMA3HP47-wjhxYTWf.js} +3 -5
  24. package/out/renderer/assets/{diagram-G4DWMVQ6-8lhqJfPk.js → diagram-OG6HWLK6-DhYpewbd.js} +4 -6
  25. package/out/renderer/assets/{erDiagram-SMLLAGMA-I6Q9HYdF.js → erDiagram-TEJ5UH35-DolRLBng.js} +4 -4
  26. package/out/renderer/assets/{flowDiagram-DWJPFMVM-BzRjtX5C.js → flowDiagram-I6XJVG4X-DjAbl_XC.js} +6 -6
  27. package/out/renderer/assets/{ganttDiagram-T4ZO3ILL-DVkem_IA.js → ganttDiagram-6RSMTGT7-AF7-XgtX.js} +7 -1
  28. package/out/renderer/assets/{gitGraphDiagram-UUTBAWPF-BYpvdMpK.js → gitGraphDiagram-PVQCEYII-BMZLakzH.js} +4 -6
  29. package/out/renderer/assets/{graph-CAtr5PoG.js → graph-B_ifajWk.js} +490 -135
  30. package/out/renderer/assets/{index-CNL53LoL.js → index-3bI-dJm8.js} +9752 -6469
  31. package/out/renderer/assets/{index-Duw36zwk.css → index-B62bIfbt.css} +107 -11
  32. package/out/renderer/assets/{infoDiagram-42DDH7IO-BcmBthOY.js → infoDiagram-5YYISTIA-0f7Qxxvp.js} +3 -5
  33. package/out/renderer/assets/{ishikawaDiagram-UXIWVN3A-moTWny-V.js → ishikawaDiagram-YF4QCWOH-BX_EIAMn.js} +1 -1
  34. package/out/renderer/assets/{journeyDiagram-VCZTEJTY-DOW8zaZt.js → journeyDiagram-JHISSGLW-Dmitv8wD.js} +4 -4
  35. package/out/renderer/assets/{kanban-definition-6JOO6SKY-DpJjTob4.js → kanban-definition-UN3LZRKU-By2GFUNB.js} +2 -2
  36. package/out/renderer/assets/{layout-BvH51Ui9.js → layout-DAkKffy1.js} +459 -32
  37. package/out/renderer/assets/{mindmap-definition-QFDTVHPH-DggFFNHq.js → mindmap-definition-RKZ34NQL-yIrV1m0y.js} +3 -3
  38. package/out/renderer/assets/{pieDiagram-DEJITSTG-BED4dnMF.js → pieDiagram-4H26LBE5-PV9y5rw_.js} +4 -6
  39. package/out/renderer/assets/{quadrantDiagram-34T5L4WZ-RpQ3qNU5.js → quadrantDiagram-W4KKPZXB-DeX0zTCp.js} +22 -20
  40. package/out/renderer/assets/{requirementDiagram-MS252O5E-VQt4zBMB.js → requirementDiagram-4Y6WPE33-Bzfk_KE-.js} +3 -3
  41. package/out/renderer/assets/{sankeyDiagram-XADWPNL6-DywR7qAk.js → sankeyDiagram-5OEKKPKP-BuCv8QIY.js} +80 -11
  42. package/out/renderer/assets/{sequenceDiagram-FGHM5R23-CVPfZD4e.js → sequenceDiagram-3UESZ5HK-Zg7Ukud8.js} +21 -9
  43. package/out/renderer/assets/{stateDiagram-FHFEXIEX-BrH8Q8ZG.js → stateDiagram-AJRCARHV-CLaqfYR8.js} +6 -8
  44. package/out/renderer/assets/{stateDiagram-v2-QKLJ7IA2-BTWk2K0H.js → stateDiagram-v2-BHNVJYJU-Cmm1ljQ4.js} +4 -4
  45. package/out/renderer/assets/{timeline-definition-GMOUNBTQ-DwDUCrTb.js → timeline-definition-PNZ67QCA-DQBaAVcC.js} +2 -2
  46. package/out/renderer/assets/{vennDiagram-DHZGUBPP-Bjvr7yGM.js → vennDiagram-CIIHVFJN-CuplbU_R.js} +1 -1
  47. package/out/renderer/assets/{wardley-RL74JXVD-Bo-sW7uQ.js → wardley-L42UT6IY-BiqfHMim.js} +25605 -19118
  48. package/out/renderer/assets/{wardleyDiagram-NUSXRM2D-DRW_1PCJ.js → wardleyDiagram-YWT4CUSO-BaV0FnUu.js} +112 -38
  49. package/out/renderer/assets/worker-CfJUABHG.js +12626 -0
  50. package/out/renderer/assets/{xychartDiagram-5P7HB3ND-Ds-qS4nC.js → xychartDiagram-2RQKCTM6-DA_Miw-n.js} +1 -1
  51. package/out/renderer/index.html +2 -2
  52. package/out/renderer/progress.html +4 -48
  53. package/out/resources/connector/connector.py +5 -0
  54. package/out/resources/mcp-server/aider-desk-mcp-server.js +1051 -501
  55. package/out/runner.js +1711 -329
  56. package/package.json +29 -21
  57. package/scripts/generate-package.mjs +10 -2
  58. package/out/renderer/assets/_baseUniq-C6Q8LpuQ.js +0 -381
  59. package/out/renderer/assets/clone-DKkqtIT8.js +0 -8
  60. package/out/renderer/assets/min-CowxrbD6.js +0 -41
package/out/cli.js CHANGED
@@ -47,6 +47,7 @@ function getRunnerEnv(port) {
47
47
  ...process.env,
48
48
  NODE_ENV: process.env.NODE_ENV || "production",
49
49
  AIDER_DESK_HEADLESS: "true",
50
+ AIDER_DESK_APP_TYPE: "app",
50
51
  AIDER_DESK_RESOURCES_DIR: resourcesDir,
51
52
  AIDER_DESK_RENDERER_DIR: rendererDir
52
53
  };
@@ -2,7 +2,7 @@
2
2
  const sdkNode = require("@opentelemetry/sdk-node");
3
3
  const autoInstrumentationsNode = require("@opentelemetry/auto-instrumentations-node");
4
4
  const runner = require("./runner.js");
5
- const traceExporter = runner.initializeLangfuseExporter();
5
+ const traceExporter = runner.initializeLangfuseExporter() ?? runner.initializePostHogExporter();
6
6
  if (traceExporter) {
7
7
  runner.logger.info("Initializing OpenTelemetry...");
8
8
  const sdk = new sdkNode.NodeSDK({
@@ -1,4 +1,4 @@
1
- import { a3 as withPath, a4 as halfPi, a5 as epsilon, a6 as tau, a7 as cos, a8 as sin, a9 as min, aa as abs, ab as pi, ac as sqrt, ad as atan2, ae as constant, af as asin, ag as acos, ah as max } from "./index-CNL53LoL.js";
1
+ import { a3 as withPath, a4 as halfPi, a5 as epsilon, a6 as tau, a7 as cos, a8 as sin, a9 as min, aa as abs, ab as pi, ac as sqrt, ad as atan2, ae as constant, af as asin, ag as acos, ah as max } from "./index-3bI-dJm8.js";
2
2
  function arcInnerRadius(d) {
3
3
  return d.innerRadius;
4
4
  }
@@ -1,9 +1,7 @@
1
- import { aO as getDefaultExportFromCjs, _ as __name, I as selectSvgElement, a1 as setupGraphViewbox, l as log, b as setAccTitle, a as getAccTitle, p as setDiagramTitle, q as getDiagramTitle, g as getAccDescription, s as setAccDescription, z as clear, F as cleanAndMerge, G as defaultConfig_default, D as getConfig, c as getConfig2, ap as createText, aP as getIconSVG, i as sanitizeText, d as select, x as getEdgeId, aQ as registerIconPacks, aR as unknownIcon } from "./index-CNL53LoL.js";
2
- import { p as populateCommonDb } from "./chunk-4BX2VUAB-d88VZY9C.js";
3
- import { p as parse } from "./wardley-RL74JXVD-Bo-sW7uQ.js";
1
+ import { b8 as getDefaultExportFromCjs, _ as __name, I as selectSvgElement, a1 as setupGraphViewbox, l as log, b as setAccTitle, a as getAccTitle, p as setDiagramTitle, q as getDiagramTitle, g as getAccDescription, s as setAccDescription, z as clear, F as cleanAndMerge, D as getConfig, G as defaultConfig_default, c as getConfig2, aS as createText, b9 as getIconSVG, i as sanitizeText, d as select, x as getEdgeId, ba as registerIconPacks, bb as unknownIcon } from "./index-3bI-dJm8.js";
2
+ import { p as populateCommonDb } from "./chunk-4BX2VUAB-DEyFpixF.js";
3
+ import { p as parse } from "./wardley-L42UT6IY-BiqfHMim.js";
4
4
  import { c as cytoscape$1 } from "./cytoscape.esm-Bm8DJGmZ.js";
5
- import "./min-CowxrbD6.js";
6
- import "./_baseUniq-C6Q8LpuQ.js";
7
5
  var cytoscapeFcose$1 = { exports: {} };
8
6
  var coseBase$1 = { exports: {} };
9
7
  var layoutBase$1 = { exports: {} };
@@ -8593,10 +8591,16 @@ function layoutArchitecture(services, junctions, groups, edges, db, { spatialMap
8593
8591
  addEdges(edges, cy);
8594
8592
  const alignmentConstraint = getAlignments(db, spatialMaps, groupAlignments);
8595
8593
  const relativePlacementConstraint = getRelativeConstraints(spatialMaps, db);
8594
+ const iconSize = db.getConfigField("iconSize");
8595
+ const sameGroupIdealLength = db.getConfigField("idealEdgeLengthMultiplier") * iconSize;
8596
+ const crossGroupIdealLength = 0.5 * iconSize;
8597
+ const sameGroupElasticity = db.getConfigField("edgeElasticity");
8596
8598
  const layout = cy.layout({
8597
8599
  name: "fcose",
8598
8600
  quality: "proof",
8599
8601
  randomize: db.getConfigField("randomize"),
8602
+ nodeSeparation: db.getConfigField("nodeSeparation"),
8603
+ numIter: db.getConfigField("numIter"),
8600
8604
  styleEnabled: false,
8601
8605
  animate: false,
8602
8606
  nodeDimensionsIncludeLabels: false,
@@ -8606,15 +8610,13 @@ function layoutArchitecture(services, junctions, groups, edges, db, { spatialMap
8606
8610
  const [nodeA, nodeB] = edge.connectedNodes();
8607
8611
  const { parent: parentA } = nodeData(nodeA);
8608
8612
  const { parent: parentB } = nodeData(nodeB);
8609
- const elasticity = parentA === parentB ? 1.5 * db.getConfigField("iconSize") : 0.5 * db.getConfigField("iconSize");
8610
- return elasticity;
8613
+ return parentA === parentB ? sameGroupIdealLength : crossGroupIdealLength;
8611
8614
  },
8612
8615
  edgeElasticity(edge) {
8613
8616
  const [nodeA, nodeB] = edge.connectedNodes();
8614
8617
  const { parent: parentA } = nodeData(nodeA);
8615
8618
  const { parent: parentB } = nodeData(nodeB);
8616
- const elasticity = parentA === parentB ? 0.45 : 1e-3;
8617
- return elasticity;
8619
+ return parentA === parentB ? sameGroupElasticity : 1e-3;
8618
8620
  },
8619
8621
  alignmentConstraint,
8620
8622
  relativePlacementConstraint
@@ -1,9 +1,161 @@
1
- import { g as getIconStyles } from "./chunk-FMBD7UC4-D5MNbIWZ.js";
2
- import { _ as __name, D as getConfig, d as select, e as configureSvgSize, l as log, z as clear, B as rgba, an as getLineFunctionsWithOffset, O as line, V as curveBasis, c as getConfig2, S as getUrl, ao as getEffectiveHtmlLabels, ap as createText, aq as computeLabelTransform, ar as getSubGraphTitleMargins, u as utils_default, k as common_default, as as getStylesFromArray, i as sanitizeText, at as decodeEntities, au as configureLabelImages } from "./index-CNL53LoL.js";
3
- import { c as clone } from "./clone-DKkqtIT8.js";
4
- import { G as Graph } from "./graph-CAtr5PoG.js";
5
- import { c as channel } from "./channel-Cr_H2zdE.js";
6
- import "./_baseUniq-C6Q8LpuQ.js";
1
+ import { g as getIconStyles } from "./chunk-FMBD7UC4-CoPwvBCa.js";
2
+ import { ar as isPrimitive, as as getTag, at as isTypedArray, au as arrayBufferTag, av as dataViewTag, aw as booleanTag, ax as numberTag, ay as stringTag, az as dateTag, aA as regexpTag, aB as symbolTag, aC as mapTag, aD as setTag, aE as argumentsTag, aF as uint32ArrayTag, aG as uint16ArrayTag, aH as uint8ClampedArrayTag, aI as uint8ArrayTag, aJ as objectTag, aK as int32ArrayTag, aL as int16ArrayTag, aM as int8ArrayTag, aN as float64ArrayTag, aO as float32ArrayTag, aP as arrayTag, _ as __name, D as getConfig, d as select, e as configureSvgSize, l as log, z as clear, B as rgba, aQ as getLineFunctionsWithOffset, O as line, V as curveBasis, c as getConfig2, S as getUrl, aR as getEffectiveHtmlLabels, aS as createText, aT as computeLabelTransform, aU as getSubGraphTitleMargins, u as utils_default, k as common_default, aV as getStylesFromArray, i as sanitizeText, aW as decodeEntities, aX as configureLabelImages } from "./index-3bI-dJm8.js";
3
+ import { G as Graph } from "./graph-B_ifajWk.js";
4
+ import { c as channel } from "./channel-DUdp1NJ7.js";
5
+ function isArray(value) {
6
+ return Array.isArray(value);
7
+ }
8
+ function clone(obj) {
9
+ if (isPrimitive(obj)) {
10
+ return obj;
11
+ }
12
+ const tag = getTag(obj);
13
+ if (!isCloneableObject(obj)) {
14
+ return {};
15
+ }
16
+ if (isArray(obj)) {
17
+ const result2 = Array.from(obj);
18
+ if (obj.length > 0 && typeof obj[0] === "string" && Object.hasOwn(obj, "index")) {
19
+ result2.index = obj.index;
20
+ result2.input = obj.input;
21
+ }
22
+ return result2;
23
+ }
24
+ if (isTypedArray(obj)) {
25
+ const typedArray = obj;
26
+ const Ctor = typedArray.constructor;
27
+ return new Ctor(typedArray.buffer, typedArray.byteOffset, typedArray.length);
28
+ }
29
+ if (tag === arrayBufferTag) {
30
+ return new ArrayBuffer(obj.byteLength);
31
+ }
32
+ if (tag === dataViewTag) {
33
+ const dataView = obj;
34
+ const buffer = dataView.buffer;
35
+ const byteOffset = dataView.byteOffset;
36
+ const byteLength = dataView.byteLength;
37
+ const clonedBuffer = new ArrayBuffer(byteLength);
38
+ const srcView = new Uint8Array(buffer, byteOffset, byteLength);
39
+ const destView = new Uint8Array(clonedBuffer);
40
+ destView.set(srcView);
41
+ return new DataView(clonedBuffer);
42
+ }
43
+ if (tag === booleanTag || tag === numberTag || tag === stringTag) {
44
+ const Ctor = obj.constructor;
45
+ const clone2 = new Ctor(obj.valueOf());
46
+ if (tag === stringTag) {
47
+ cloneStringObjectProperties(clone2, obj);
48
+ } else {
49
+ copyOwnProperties(clone2, obj);
50
+ }
51
+ return clone2;
52
+ }
53
+ if (tag === dateTag) {
54
+ return new Date(Number(obj));
55
+ }
56
+ if (tag === regexpTag) {
57
+ const regExp = obj;
58
+ const clone2 = new RegExp(regExp.source, regExp.flags);
59
+ clone2.lastIndex = regExp.lastIndex;
60
+ return clone2;
61
+ }
62
+ if (tag === symbolTag) {
63
+ return Object(Symbol.prototype.valueOf.call(obj));
64
+ }
65
+ if (tag === mapTag) {
66
+ const map = obj;
67
+ const result2 = /* @__PURE__ */ new Map();
68
+ map.forEach((obj2, key) => {
69
+ result2.set(key, obj2);
70
+ });
71
+ return result2;
72
+ }
73
+ if (tag === setTag) {
74
+ const set = obj;
75
+ const result2 = /* @__PURE__ */ new Set();
76
+ set.forEach((obj2) => {
77
+ result2.add(obj2);
78
+ });
79
+ return result2;
80
+ }
81
+ if (tag === argumentsTag) {
82
+ const args = obj;
83
+ const result2 = {};
84
+ copyOwnProperties(result2, args);
85
+ result2.length = args.length;
86
+ result2[Symbol.iterator] = args[Symbol.iterator];
87
+ return result2;
88
+ }
89
+ const result = {};
90
+ copyPrototype(result, obj);
91
+ copyOwnProperties(result, obj);
92
+ copySymbolProperties(result, obj);
93
+ return result;
94
+ }
95
+ function isCloneableObject(object) {
96
+ switch (getTag(object)) {
97
+ case argumentsTag:
98
+ case arrayTag:
99
+ case arrayBufferTag:
100
+ case dataViewTag:
101
+ case booleanTag:
102
+ case dateTag:
103
+ case float32ArrayTag:
104
+ case float64ArrayTag:
105
+ case int8ArrayTag:
106
+ case int16ArrayTag:
107
+ case int32ArrayTag:
108
+ case mapTag:
109
+ case numberTag:
110
+ case objectTag:
111
+ case regexpTag:
112
+ case setTag:
113
+ case stringTag:
114
+ case symbolTag:
115
+ case uint8ArrayTag:
116
+ case uint8ClampedArrayTag:
117
+ case uint16ArrayTag:
118
+ case uint32ArrayTag: {
119
+ return true;
120
+ }
121
+ default: {
122
+ return false;
123
+ }
124
+ }
125
+ }
126
+ function copyOwnProperties(target, source) {
127
+ for (const key in source) {
128
+ if (Object.hasOwn(source, key)) {
129
+ target[key] = source[key];
130
+ }
131
+ }
132
+ }
133
+ function copySymbolProperties(target, source) {
134
+ const symbols = Object.getOwnPropertySymbols(source);
135
+ for (let i = 0; i < symbols.length; i++) {
136
+ const symbol = symbols[i];
137
+ if (Object.prototype.propertyIsEnumerable.call(source, symbol)) {
138
+ target[symbol] = source[symbol];
139
+ }
140
+ }
141
+ }
142
+ function cloneStringObjectProperties(target, source) {
143
+ const stringLength = source.valueOf().length;
144
+ for (const key in source) {
145
+ if (Object.hasOwn(source, key) && (Number.isNaN(Number(key)) || Number(key) >= stringLength)) {
146
+ target[key] = source[key];
147
+ }
148
+ }
149
+ }
150
+ function copyPrototype(target, source) {
151
+ const proto = Object.getPrototypeOf(source);
152
+ if (proto !== null) {
153
+ const Ctor = source.constructor;
154
+ if (typeof Ctor === "function") {
155
+ Object.setPrototypeOf(target, proto);
156
+ }
157
+ }
158
+ }
7
159
  var parser = (function() {
8
160
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
9
161
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -68,9 +220,12 @@ var parser = (function() {
68
220
  case 23:
69
221
  yy.getLogger().debug("Rule: (nodeStatement link node) ", $$[$0 - 2], $$[$0 - 1], $$[$0], " typestr: ", $$[$0 - 1].edgeTypeStr);
70
222
  const edgeData = yy.edgeStrToEdgeData($$[$0 - 1].edgeTypeStr);
223
+ const startEdgeData = yy.edgeStrToEdgeStartData($$[$0 - 1].edgeTypeStr);
224
+ const lineThickness = yy.edgeStrToThickness($$[$0 - 1].edgeTypeStr);
225
+ const linePattern = yy.edgeStrToPattern($$[$0 - 1].edgeTypeStr);
71
226
  this.$ = [
72
227
  { id: $$[$0 - 2].id, label: $$[$0 - 2].label, type: $$[$0 - 2].type, directions: $$[$0 - 2].directions },
73
- { id: $$[$0 - 2].id + "-" + $$[$0].id, start: $$[$0 - 2].id, end: $$[$0].id, label: $$[$0 - 1].label, type: "edge", directions: $$[$0].directions, arrowTypeEnd: edgeData, arrowTypeStart: "arrow_open" },
228
+ { id: $$[$0 - 2].id + "-" + $$[$0].id, start: $$[$0 - 2].id, end: $$[$0].id, label: $$[$0 - 1].label, type: "edge", thickness: lineThickness, pattern: linePattern, directions: $$[$0].directions, arrowTypeEnd: edgeData, arrowTypeStart: startEdgeData },
74
229
  { id: $$[$0].id, label: $$[$0].label, type: yy.typeStr2Type($$[$0].typeStr), directions: $$[$0].directions }
75
230
  ];
76
231
  break;
@@ -931,7 +1086,7 @@ var parser = (function() {
931
1086
  return 27;
932
1087
  }
933
1088
  }, "anonymous"),
934
- rules: [/^(?:block-beta\b)/, /^(?:block:)/, /^(?:block\b)/, /^(?:[\s]+)/, /^(?:[\n]+)/, /^(?:((\u000D\u000A)|(\u000A)))/, /^(?:columns\s+auto\b)/, /^(?:columns\s+[\d]+)/, /^(?:["][`])/, /^(?:[^`"]+)/, /^(?:[`]["])/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:space[:]\d+)/, /^(?:space\b)/, /^(?:default\b)/, /^(?:linkStyle\b)/, /^(?:interpolate\b)/, /^(?:classDef\s+)/, /^(?:DEFAULT\s+)/, /^(?:\w+\s+)/, /^(?:[^\n]*)/, /^(?:class\s+)/, /^(?:(\w+)+((,\s*\w+)*))/, /^(?:[^\n]*)/, /^(?:style\s+)/, /^(?:(\w+)+((,\s*\w+)*))/, /^(?:[^\n]*)/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:end\b\s*)/, /^(?:\(\(\()/, /^(?:\)\)\))/, /^(?:[\)]\))/, /^(?:\}\})/, /^(?:\})/, /^(?:\(-)/, /^(?:-\))/, /^(?:\(\()/, /^(?:\]\])/, /^(?:\()/, /^(?:\]\))/, /^(?:\\\])/, /^(?:\/\])/, /^(?:\)\])/, /^(?:[\)])/, /^(?:\]>)/, /^(?:[\]])/, /^(?:-\))/, /^(?:\(-)/, /^(?:\)\))/, /^(?:\))/, /^(?:\(\(\()/, /^(?:\(\()/, /^(?:\{\{)/, /^(?:\{)/, /^(?:>)/, /^(?:\(\[)/, /^(?:\()/, /^(?:\[\[)/, /^(?:\[\|)/, /^(?:\[\()/, /^(?:\)\)\))/, /^(?:\[\\)/, /^(?:\[\/)/, /^(?:\[\\)/, /^(?:\[)/, /^(?:<\[)/, /^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/, /^(?:$)/, /^(?:["][`])/, /^(?:["][`])/, /^(?:[^`"]+)/, /^(?:[`]["])/, /^(?:["])/, /^(?:["])/, /^(?:[^"]+)/, /^(?:["])/, /^(?:\]>\s*\()/, /^(?:,?\s*right\s*)/, /^(?:,?\s*left\s*)/, /^(?:,?\s*x\s*)/, /^(?:,?\s*y\s*)/, /^(?:,?\s*up\s*)/, /^(?:,?\s*down\s*)/, /^(?:\)\s*)/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?:\s*~~[\~]+\s*)/, /^(?:\s*[xo<]?--\s*)/, /^(?:\s*[xo<]?==\s*)/, /^(?:\s*[xo<]?-\.\s*)/, /^(?:["][`])/, /^(?:["])/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?::\d+)/],
1089
+ rules: [/^(?:block-beta\b)/, /^(?:block:)/, /^(?:block\b)/, /^(?:[\s]+)/, /^(?:[\n]+)/, /^(?:((\u000D\u000A)|(\u000A)))/, /^(?:columns\s+auto\b)/, /^(?:columns\s+[\d]+)/, /^(?:["][`])/, /^(?:[^`"]+)/, /^(?:[`]["])/, /^(?:["])/, /^(?:["])/, /^(?:[^"]*)/, /^(?:space[:]\d+)/, /^(?:space\b)/, /^(?:default\b)/, /^(?:linkStyle\b)/, /^(?:interpolate\b)/, /^(?:classDef\s+)/, /^(?:DEFAULT\s+)/, /^(?:\w+\s+)/, /^(?:[^\n]*)/, /^(?:class\s+)/, /^(?:(\w+)+((,\s*\w+)*))/, /^(?:[^\n]*)/, /^(?:style\s+)/, /^(?:(\w+)+((,\s*\w+)*))/, /^(?:[^\n]*)/, /^(?:accTitle\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*:\s*)/, /^(?:(?!\n||)*[^\n]*)/, /^(?:accDescr\s*\{\s*)/, /^(?:[\}])/, /^(?:[^\}]*)/, /^(?:end\b\s*)/, /^(?:\(\(\()/, /^(?:\)\)\))/, /^(?:[\)]\))/, /^(?:\}\})/, /^(?:\})/, /^(?:\(-)/, /^(?:-\))/, /^(?:\(\()/, /^(?:\]\])/, /^(?:\()/, /^(?:\]\))/, /^(?:\\\])/, /^(?:\/\])/, /^(?:\)\])/, /^(?:[\)])/, /^(?:\]>)/, /^(?:[\]])/, /^(?:-\))/, /^(?:\(-)/, /^(?:\)\))/, /^(?:\))/, /^(?:\(\(\()/, /^(?:\(\()/, /^(?:\{\{)/, /^(?:\{)/, /^(?:>)/, /^(?:\(\[)/, /^(?:\()/, /^(?:\[\[)/, /^(?:\[\|)/, /^(?:\[\()/, /^(?:\)\)\))/, /^(?:\[\\)/, /^(?:\[\/)/, /^(?:\[\\)/, /^(?:\[)/, /^(?:<\[)/, /^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/, /^(?:$)/, /^(?:["][`])/, /^(?:["][`])/, /^(?:[^`"]+)/, /^(?:[`]["])/, /^(?:["])/, /^(?:["])/, /^(?:[^"]+)/, /^(?:["])/, /^(?:\]>\s*\()/, /^(?:,?\s*right\s*)/, /^(?:,?\s*left\s*)/, /^(?:,?\s*x\s*)/, /^(?:,?\s*y\s*)/, /^(?:,?\s*up\s*)/, /^(?:,?\s*down\s*)/, /^(?:\)\s*)/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?:\s*~~[\~]+\s*)/, /^(?:\s*[xo<]?--\s*)/, /^(?:\s*[xo<]?==\s*)/, /^(?:\s*[xo<]?-\.\s*)/, /^(?:["][`])/, /^(?:["])/, /^(?:\s*[xo<]?--+[-xo>]\s*)/, /^(?:\s*[xo<]?==+[=xo>]\s*)/, /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, /^(?::\d+)/],
935
1090
  conditions: { "STYLE_DEFINITION": { "rules": [28], "inclusive": false }, "STYLE_STMNT": { "rules": [27], "inclusive": false }, "CLASSDEFID": { "rules": [22], "inclusive": false }, "CLASSDEF": { "rules": [20, 21], "inclusive": false }, "CLASS_STYLE": { "rules": [25], "inclusive": false }, "CLASS": { "rules": [24], "inclusive": false }, "LLABEL": { "rules": [99, 100, 101, 102, 103], "inclusive": false }, "ARROW_DIR": { "rules": [85, 86, 87, 88, 89, 90, 91], "inclusive": false }, "BLOCK_ARROW": { "rules": [76, 81, 84], "inclusive": false }, "NODE": { "rules": [37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 77, 80], "inclusive": false }, "md_string": { "rules": [9, 10, 78, 79], "inclusive": false }, "space": { "rules": [], "inclusive": false }, "string": { "rules": [12, 13, 82, 83], "inclusive": false }, "acc_descr_multiline": { "rules": [34, 35], "inclusive": false }, "acc_descr": { "rules": [32], "inclusive": false }, "acc_title": { "rules": [30], "inclusive": false }, "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 14, 15, 16, 17, 18, 19, 23, 26, 29, 31, 33, 36, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 92, 93, 94, 95, 96, 97, 98, 104], "inclusive": true } }
936
1091
  };
937
1092
  return lexer2;
@@ -1131,7 +1286,8 @@ function edgeTypeStr2Type(typeStr) {
1131
1286
  }
1132
1287
  __name(edgeTypeStr2Type, "edgeTypeStr2Type");
1133
1288
  function edgeStrToEdgeData(typeStr) {
1134
- switch (typeStr.replace(/^[\s-]+|[\s-]+$/g, "")) {
1289
+ const lastChar = typeStr.trim().slice(-1);
1290
+ switch (lastChar) {
1135
1291
  case "x":
1136
1292
  return "arrow_cross";
1137
1293
  case "o":
@@ -1143,6 +1299,31 @@ function edgeStrToEdgeData(typeStr) {
1143
1299
  }
1144
1300
  }
1145
1301
  __name(edgeStrToEdgeData, "edgeStrToEdgeData");
1302
+ function edgeStrToEdgeStartData(typeStr) {
1303
+ const firstChar = typeStr.trim().charAt(0);
1304
+ switch (firstChar) {
1305
+ case "x":
1306
+ return "arrow_cross";
1307
+ case "o":
1308
+ return "arrow_circle";
1309
+ case "<":
1310
+ return "arrow_point";
1311
+ default:
1312
+ return "arrow_open";
1313
+ }
1314
+ }
1315
+ __name(edgeStrToEdgeStartData, "edgeStrToEdgeStartData");
1316
+ function edgeStrToThickness(typeStr) {
1317
+ return typeStr.includes("==") ? "thick" : "normal";
1318
+ }
1319
+ __name(edgeStrToThickness, "edgeStrToThickness");
1320
+ function edgeStrToPattern(typeStr) {
1321
+ if (typeStr.includes(".-")) {
1322
+ return "dotted";
1323
+ }
1324
+ return "solid";
1325
+ }
1326
+ __name(edgeStrToPattern, "edgeStrToPattern");
1146
1327
  var cnt = 0;
1147
1328
  var generateId = /* @__PURE__ */ __name(() => {
1148
1329
  cnt++;
@@ -1194,6 +1375,9 @@ var db = {
1194
1375
  typeStr2Type,
1195
1376
  edgeTypeStr2Type,
1196
1377
  edgeStrToEdgeData,
1378
+ edgeStrToEdgeStartData,
1379
+ edgeStrToThickness,
1380
+ edgeStrToPattern,
1197
1381
  getLogger,
1198
1382
  getBlocksFlat,
1199
1383
  getBlocks,
@@ -1434,8 +1618,9 @@ var getMaxChildSize = /* @__PURE__ */ __name((block) => {
1434
1618
  if (child.type === "space") {
1435
1619
  continue;
1436
1620
  }
1437
- if (width > maxWidth) {
1438
- maxWidth = width / (child.widthInColumns ?? 1);
1621
+ const normalizedWidth = width / (child.widthInColumns ?? 1);
1622
+ if (normalizedWidth > maxWidth) {
1623
+ maxWidth = normalizedWidth;
1439
1624
  }
1440
1625
  if (height > maxHeight) {
1441
1626
  maxHeight = height;
@@ -1797,13 +1982,8 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
1797
1982
  if (edge.startLabelRight) {
1798
1983
  const startEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
1799
1984
  const inner = startEdgeLabelRight.insert("g").attr("class", "inner");
1800
- const startLabelElement = await createLabel_default(
1801
- startEdgeLabelRight,
1802
- edge.startLabelRight,
1803
- edge.labelStyle
1804
- );
1985
+ const startLabelElement = await createLabel_default(inner, edge.startLabelRight, edge.labelStyle);
1805
1986
  fo = startLabelElement;
1806
- inner.node().appendChild(startLabelElement);
1807
1987
  let slBox = startLabelElement.getBBox();
1808
1988
  if (useHtmlLabels) {
1809
1989
  const div = startLabelElement.children[0];
@@ -1822,7 +2002,7 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
1822
2002
  if (edge.endLabelLeft) {
1823
2003
  const endEdgeLabelLeft = elem.insert("g").attr("class", "edgeTerminals");
1824
2004
  const inner = endEdgeLabelLeft.insert("g").attr("class", "inner");
1825
- const endLabelElement = await createLabel_default(inner, edge.endLabelLeft, edge.labelStyle);
2005
+ const endLabelElement = await createLabel_default(endEdgeLabelLeft, edge.endLabelLeft, edge.labelStyle);
1826
2006
  fo = endLabelElement;
1827
2007
  let slBox = endLabelElement.getBBox();
1828
2008
  if (useHtmlLabels) {
@@ -1833,7 +2013,6 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
1833
2013
  dv.attr("height", slBox.height);
1834
2014
  }
1835
2015
  inner.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
1836
- endEdgeLabelLeft.node().appendChild(endLabelElement);
1837
2016
  if (!terminalLabels[edge.id]) {
1838
2017
  terminalLabels[edge.id] = {};
1839
2018
  }
@@ -1843,7 +2022,11 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
1843
2022
  if (edge.endLabelRight) {
1844
2023
  const endEdgeLabelRight = elem.insert("g").attr("class", "edgeTerminals");
1845
2024
  const inner = endEdgeLabelRight.insert("g").attr("class", "inner");
1846
- const endLabelElement = await createLabel_default(inner, edge.endLabelRight, edge.labelStyle);
2025
+ const endLabelElement = await createLabel_default(
2026
+ endEdgeLabelRight,
2027
+ edge.endLabelRight,
2028
+ edge.labelStyle
2029
+ );
1847
2030
  fo = endLabelElement;
1848
2031
  let slBox = endLabelElement.getBBox();
1849
2032
  if (useHtmlLabels) {
@@ -1854,7 +2037,6 @@ var insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {
1854
2037
  dv.attr("height", slBox.height);
1855
2038
  }
1856
2039
  inner.attr("transform", computeLabelTransform(slBox, useHtmlLabels));
1857
- endEdgeLabelRight.node().appendChild(endLabelElement);
1858
2040
  if (!terminalLabels[edge.id]) {
1859
2041
  terminalLabels[edge.id] = {};
1860
2042
  }
@@ -2125,12 +2307,12 @@ var expandAndDeduplicateDirections = /* @__PURE__ */ __name((directions) => {
2125
2307
  }
2126
2308
  return uniqueDirections;
2127
2309
  }, "expandAndDeduplicateDirections");
2128
- var getArrowPoints = /* @__PURE__ */ __name((duplicatedDirections, bbox, node) => {
2310
+ var getArrowPoints = /* @__PURE__ */ __name((duplicatedDirections, bbox, node, totalWidth) => {
2129
2311
  const directions = expandAndDeduplicateDirections(duplicatedDirections);
2130
2312
  const f = 2;
2131
2313
  const height = bbox.height + 2 * node.padding;
2132
2314
  const midpoint = height / f;
2133
- const width = bbox.width + 2 * midpoint + node.padding;
2315
+ const width = totalWidth ?? bbox.width + 2 * midpoint + node.padding;
2134
2316
  const padding2 = node.padding / 2;
2135
2317
  if (directions.has("right") && directions.has("left") && directions.has("up") && directions.has("down")) {
2136
2318
  return [
@@ -2615,9 +2797,9 @@ var hexagon = /* @__PURE__ */ __name(async (parent, node) => {
2615
2797
  true
2616
2798
  );
2617
2799
  const f = 4;
2618
- const h = bbox.height + node.padding;
2800
+ const h = node.positioned ? node.height : bbox.height + node.padding;
2619
2801
  const m = h / f;
2620
- const w = bbox.width + 2 * m + node.padding;
2802
+ const w = node.positioned ? node.width : bbox.width + 2 * m + node.padding;
2621
2803
  const points = [
2622
2804
  { x: m, y: 0 },
2623
2805
  { x: w - m, y: 0 },
@@ -2639,8 +2821,10 @@ var block_arrow = /* @__PURE__ */ __name(async (parent, node) => {
2639
2821
  const f = 2;
2640
2822
  const h = bbox.height + 2 * node.padding;
2641
2823
  const m = h / f;
2642
- const w = bbox.width + 2 * m + node.padding;
2643
- const points = getArrowPoints(node.directions, bbox, node);
2824
+ const naturalW = bbox.width + 2 * m + node.padding;
2825
+ const isSpanning = node.positioned && (node.widthInColumns ?? 1) > 1 && node.width > naturalW;
2826
+ const w = isSpanning ? node.width : naturalW;
2827
+ const points = getArrowPoints(node.directions, bbox, node, w);
2644
2828
  const blockArrow = insertPolygonShape(shapeSvg, w, h, points);
2645
2829
  blockArrow.attr("style", node.style);
2646
2830
  updateNodeBounds(node, blockArrow);
@@ -3466,7 +3650,8 @@ function getNodeFromBlock(block, db2, positioned = false) {
3466
3650
  positioned,
3467
3651
  intersect: void 0,
3468
3652
  type: vertex.type,
3469
- padding: padding2 ?? getConfig()?.block?.padding ?? 0
3653
+ padding: padding2 ?? getConfig()?.block?.padding ?? 0,
3654
+ widthInColumns: vertex.widthInColumns ?? 1
3470
3655
  };
3471
3656
  return node;
3472
3657
  }
@@ -3547,6 +3732,9 @@ async function insertEdges(elem, edges, blocks2, db2, id) {
3547
3732
  { x: end2.x, y: end2.y }
3548
3733
  ];
3549
3734
  const prefixedEdgeId = id ? `${id}-${edge.id}` : edge.id;
3735
+ const thicknessClass = edge.thickness === "thick" ? "edge-thickness-thick" : "edge-thickness-normal";
3736
+ const patternClass = edge.pattern === "dotted" ? "edge-pattern-dotted" : "edge-pattern-solid";
3737
+ const dynamicClasses = `${thicknessClass} ${patternClass} flowchart-link LS-a1 LE-b1`;
3550
3738
  insertEdge(
3551
3739
  elem,
3552
3740
  { v: edge.start, w: edge.end, name: prefixedEdgeId },
@@ -3556,7 +3744,7 @@ async function insertEdges(elem, edges, blocks2, db2, id) {
3556
3744
  arrowTypeEnd: edge.arrowTypeEnd,
3557
3745
  arrowTypeStart: edge.arrowTypeStart,
3558
3746
  points,
3559
- classes: "edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"
3747
+ classes: dynamicClasses
3560
3748
  },
3561
3749
  void 0,
3562
3750
  "block",
@@ -3571,7 +3759,7 @@ async function insertEdges(elem, edges, blocks2, db2, id) {
3571
3759
  arrowTypeEnd: edge.arrowTypeEnd,
3572
3760
  arrowTypeStart: edge.arrowTypeStart,
3573
3761
  points,
3574
- classes: "edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"
3762
+ classes: dynamicClasses
3575
3763
  });
3576
3764
  positionEdgeLabel(
3577
3765
  { ...edge, x: points[1].x, y: points[1].y },
@@ -1,5 +1,5 @@
1
- import { g as getNoteRect, d as drawRect } from "./chunk-YZCP3GAM-gAcMGuhT.js";
2
- import { s as setAccDescription, g as getAccDescription, a as getAccTitle, b as setAccTitle, _ as __name, c as getConfig2, d as select, l as log, e as configureSvgSize, f as assignWithDepth_default, h as calculateTextWidth, i as sanitizeText, j as distExports, w as wrapLabel, k as common_default, m as calculateTextHeight } from "./index-CNL53LoL.js";
1
+ import { g as getNoteRect, d as drawRect } from "./chunk-ND2GUHAM-ku5t5SwP.js";
2
+ import { s as setAccDescription, g as getAccDescription, a as getAccTitle, b as setAccTitle, _ as __name, c as getConfig2, d as select, l as log, e as configureSvgSize, f as assignWithDepth_default, h as calculateTextWidth, i as sanitizeText, j as distExports, w as wrapLabel, k as common_default, m as calculateTextHeight } from "./index-3bI-dJm8.js";
3
3
  var parser = (function() {
4
4
  var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
5
5
  for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
@@ -1,4 +1,4 @@
1
- import { av as Utils, aw as Color } from "./index-CNL53LoL.js";
1
+ import { an as Utils, ao as Color } from "./index-3bI-dJm8.js";
2
2
  const channel = (color, channel2) => {
3
3
  return Utils.lang.round(Color.parse(color)[channel2]);
4
4
  };
@@ -1,4 +1,4 @@
1
- import { _ as __name, e as configureSvgSize, l as log } from "./index-CNL53LoL.js";
1
+ import { _ as __name, e as configureSvgSize, l as log } from "./index-3bI-dJm8.js";
2
2
  var setupViewPortForSVG = /* @__PURE__ */ __name((svg, padding, cssDiagram, useMaxWidth) => {
3
3
  svg.attr("class", cssDiagram);
4
4
  const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);
@@ -1,4 +1,4 @@
1
- import { _ as __name } from "./index-CNL53LoL.js";
1
+ import { _ as __name } from "./index-3bI-dJm8.js";
2
2
  function populateCommonDb(ast, db) {
3
3
  if (ast.accDescr) {
4
4
  db.setAccDescription?.(ast.accDescr);
@@ -1,4 +1,4 @@
1
- import { _ as __name, d as select } from "./index-CNL53LoL.js";
1
+ import { _ as __name, d as select } from "./index-3bI-dJm8.js";
2
2
  var getDiagramElement = /* @__PURE__ */ __name((id, securityLevel) => {
3
3
  let sandboxElement;
4
4
  if (securityLevel === "sandbox") {