@loopstack/loopstack-studio 0.29.5 → 0.31.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 (122) hide show
  1. package/dist/_virtual/rolldown_runtime.js +3 -1
  2. package/dist/api/config.js +5 -4
  3. package/dist/api/environments.js +5 -1
  4. package/dist/api/processor.js +4 -1
  5. package/dist/app/EnvironmentEmbedRoot.js +22 -30
  6. package/dist/components/ai-elements/code-block.js +4 -4
  7. package/dist/components/dynamic-form/CodeContent.js +1 -1
  8. package/dist/components/dynamic-form/FormBody.js +1 -1
  9. package/dist/components/layout/StudioSidebar.js +116 -131
  10. package/dist/components/lists/ListView.js +46 -46
  11. package/dist/components/motion/FadeIn.js +72 -0
  12. package/dist/components/motion/StreamingText.js +49 -0
  13. package/dist/components/ui/accordion.js +2 -2
  14. package/dist/components/ui-widgets/UiWidget.js +11 -10
  15. package/dist/components/ui-widgets/widgets/AiPromptInput.js +31 -28
  16. package/dist/events/sse-client-events.js +7 -1
  17. package/dist/features/code-explorer/components/FileContentViewer.js +2 -2
  18. package/dist/features/dashboard/AppLauncher.js +84 -0
  19. package/dist/features/debug/components/WorkflowFlowViewer.js +49 -51
  20. package/dist/features/documents/DocumentRenderer.js +18 -17
  21. package/dist/features/documents/components/DocumentItem.js +42 -20
  22. package/dist/features/documents/components/DocumentList.js +34 -36
  23. package/dist/features/documents/components/DocumentMetadataPills.js +102 -49
  24. package/dist/features/documents/document-details/DocumentDetails.js +577 -377
  25. package/dist/features/documents/document-details/PromptDetails.js +118 -130
  26. package/dist/features/documents/document-details/document-debug-utils.js +100 -0
  27. package/dist/features/documents/renderers/ChoicesRenderer.js +41 -38
  28. package/dist/features/documents/renderers/ConfirmPromptRenderer.js +31 -28
  29. package/dist/features/documents/renderers/DocumentFormRenderer.js +62 -70
  30. package/dist/features/documents/renderers/LlmMessage.js +52 -47
  31. package/dist/features/documents/renderers/TextPromptRenderer.js +32 -29
  32. package/dist/features/documents/renderers/useDocumentTransition.js +4 -4
  33. package/dist/features/feature-registry/FeatureRegistryProvider.js +32 -10
  34. package/dist/features/feature-registry/available-features.js +12 -0
  35. package/dist/features/feature-registry/index.js +2 -1
  36. package/dist/features/file-explorer/components/FileExplorerPanel.js +55 -51
  37. package/dist/features/git/components/GitBranchBadge.js +31 -0
  38. package/dist/features/git/components/GitCommitList.js +46 -0
  39. package/dist/features/git/components/GitRemoteStatus.js +84 -0
  40. package/dist/features/git/components/WorkbenchGitPanel.js +81 -0
  41. package/dist/features/git/git-feature.js +12 -0
  42. package/dist/features/git/hooks/useGit.js +78 -0
  43. package/dist/features/git/index.js +1 -0
  44. package/dist/features/oauth/OAuthPromptRenderer.js +137 -142
  45. package/dist/features/runs/Runs.js +73 -73
  46. package/dist/features/secrets/components/WorkbenchSecretsPanel.js +1 -1
  47. package/dist/features/secrets/renderers/SecretInputRenderer.js +30 -29
  48. package/dist/features/workbench/Workbench.js +25 -33
  49. package/dist/features/workbench/WorkflowItem.js +9 -9
  50. package/dist/features/workbench/WorkflowList.js +61 -62
  51. package/dist/features/workbench/components/NewRunDialog.js +237 -209
  52. package/dist/features/workbench/components/RecentRunItem.js +3 -3
  53. package/dist/features/workbench/components/WorkbenchEnvironmentPanel.js +8 -8
  54. package/dist/features/workbench/components/WorkbenchIconSidebar.js +74 -109
  55. package/dist/features/workbench/components/WorkbenchSidebarShell.js +3 -3
  56. package/dist/features/workbench/components/WorkflowForms.js +11 -10
  57. package/dist/features/workbench/components/WorkflowHistoryItem.js +16 -36
  58. package/dist/features/workbench/components/WorkflowHistoryList.js +19 -17
  59. package/dist/features/workbench/components/buttons/WorkflowButtons.js +3 -3
  60. package/dist/features/workbench/hooks/useLlmStreamingDocuments.js +159 -0
  61. package/dist/features/workbench/hooks/useWorkflowData.js +58 -31
  62. package/dist/features/workbench/index.js +2 -2
  63. package/dist/features/workbench/providers/WorkbenchLayoutProvider.js +53 -53
  64. package/dist/features/workspaces/Workspaces.js +166 -136
  65. package/dist/features/workspaces/components/CreateWorkspace.js +115 -107
  66. package/dist/features/workspaces/components/ExecutionTimeline.js +2 -2
  67. package/dist/features/workspaces/components/WorkflowRunForm.js +127 -104
  68. package/dist/features/workspaces/components/WorkspaceHomePage.js +6 -89
  69. package/dist/features/workspaces/components/workflow-form/ArgumentsView.js +1 -1
  70. package/dist/features/workspaces/components/workflow-form/SelectionView.js +15 -15
  71. package/dist/hooks/index.js +3 -2
  72. package/dist/hooks/query-keys.js +43 -30
  73. package/dist/hooks/useConfig.js +28 -22
  74. package/dist/hooks/useEnvironments.js +27 -2
  75. package/dist/hooks/useProcessor.js +14 -1
  76. package/dist/hooks/useWorkflows.js +4 -4
  77. package/dist/index.d.ts +119 -18
  78. package/dist/index.js +10 -9
  79. package/dist/node_modules/d3/src/index.js +13 -13
  80. package/dist/node_modules/d3-scale/src/continuous.js +16 -16
  81. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-3BPJPVTR.js +43 -43
  82. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-GPEHLZMM.js +270 -270
  83. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-AAUBKEIU.js +90 -90
  84. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-3OPIFGDE.js +458 -458
  85. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.js +3 -3
  86. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5ZQYHXKU.js +37 -37
  87. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-727SXJPM.js +208 -208
  88. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-KSCS5N6A.js +145 -145
  89. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ND2GUHAM.js +7 -7
  90. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-O5CBEL6O.js +41 -41
  91. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-WU5MYG2G.js +3 -3
  92. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.js +6 -6
  93. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.js +30 -30
  94. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OG6HWLK6.js +82 -82
  95. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-TEJ5UH35.js +65 -65
  96. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-I6XJVG4X.js +227 -227
  97. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-6RSMTGT7.js +104 -104
  98. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-PVQCEYII.js +104 -104
  99. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-JHISSGLW.js +49 -49
  100. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-W4KKPZXB.js +101 -101
  101. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-5OEKKPKP.js +20 -20
  102. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-3UESZ5HK.js +354 -354
  103. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.js +53 -53
  104. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-PNZ67QCA.js +113 -113
  105. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/vennDiagram-CIIHVFJN.js +90 -90
  106. package/dist/node_modules/mermaid/dist/mermaid.core.js +156 -156
  107. package/dist/node_modules/motion/dist/es/react.js +9 -2
  108. package/dist/pages/DashboardPage.js +20 -74
  109. package/dist/pages/DebugWorkflowDetailsPage.js +2 -2
  110. package/dist/pages/DebugWorkflowsPage.js +76 -106
  111. package/dist/pages/EmbedWorkbenchPage.js +1 -1
  112. package/dist/pages/PreviewWorkbenchPage.js +6 -6
  113. package/dist/pages/WorkbenchPage.js +43 -47
  114. package/dist/pages/WorkflowDebugPage.js +6 -12
  115. package/dist/pages/WorkspacePage.js +40 -66
  116. package/dist/pages/WorkspaceRunsPage.js +24 -31
  117. package/dist/routing/LocalRouter.js +1 -1
  118. package/package.json +2 -2
  119. package/dist/features/dashboard/Dashboard.js +0 -125
  120. package/dist/features/dashboard/RunItem.js +0 -78
  121. package/dist/features/dashboard/RunList.js +0 -32
  122. package/dist/hooks/useDashboard.js +0 -16
@@ -1,6 +1,6 @@
1
+ import select_default from "../../../../d3-selection/src/select.js";
1
2
  import { __name, log } from "./chunk-AGHRB4JF.js";
2
3
  import { common_default, configureSvgSize, getConfig2, getUrl } from "./chunk-CSCIHK7Q.js";
3
- import select_default from "../../../../d3-selection/src/select.js";
4
4
  import line_default from "../../../../d3-shape/src/line.js";
5
5
  import basis_default from "../../../../d3-shape/src/curve/basis.js";
6
6
  import "../../../../d3/src/index.js";
@@ -22,23 +22,23 @@ import { StateDB, stateDiagram_default, styles_default } from "./chunk-AQP2D5EJ.
22
22
  var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("class", "start-state").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit), "drawStartState"), drawDivider = /* @__PURE__ */ __name((e) => e.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", getConfig2().state.textHeight).attr("class", "divider").attr("x2", getConfig2().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider"), drawSimpleState = /* @__PURE__ */ __name((e, h) => {
23
23
  let g = e.append("text").attr("x", 2 * getConfig2().state.padding).attr("y", getConfig2().state.textHeight + 2 * getConfig2().state.padding).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(h.id), _ = g.node().getBBox();
24
24
  return e.insert("rect", ":first-child").attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding).attr("width", _.width + 2 * getConfig2().state.padding).attr("height", _.height + 2 * getConfig2().state.padding).attr("rx", getConfig2().state.radius), g;
25
- }, "drawSimpleState"), drawDescrState = /* @__PURE__ */ __name((h, g) => {
25
+ }, "drawSimpleState"), drawDescrState = /* @__PURE__ */ __name((e, g) => {
26
26
  let _ = /* @__PURE__ */ __name(function(e, h, g) {
27
27
  let _ = e.append("tspan").attr("x", 2 * getConfig2().state.padding).text(h);
28
28
  g || _.attr("dy", getConfig2().state.textHeight);
29
- }, "addTspan"), y = h.append("text").attr("x", 2 * getConfig2().state.padding).attr("y", getConfig2().state.textHeight + 1.3 * getConfig2().state.padding).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(g.descriptions[0]).node().getBBox(), b = y.height, x = h.append("text").attr("x", getConfig2().state.padding).attr("y", b + getConfig2().state.padding * .4 + getConfig2().state.dividerMargin + getConfig2().state.textHeight).attr("class", "state-description"), S = !0, C = !0;
29
+ }, "addTspan"), v = e.append("text").attr("x", 2 * getConfig2().state.padding).attr("y", getConfig2().state.textHeight + 1.3 * getConfig2().state.padding).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(g.descriptions[0]).node().getBBox(), b = v.height, x = e.append("text").attr("x", getConfig2().state.padding).attr("y", b + getConfig2().state.padding * .4 + getConfig2().state.dividerMargin + getConfig2().state.textHeight).attr("class", "state-description"), S = !0, C = !0;
30
30
  g.descriptions.forEach(function(e) {
31
31
  S || (_(x, e, C), C = !1), S = !1;
32
32
  });
33
- let w = h.append("line").attr("x1", getConfig2().state.padding).attr("y1", getConfig2().state.padding + b + getConfig2().state.dividerMargin / 2).attr("y2", getConfig2().state.padding + b + getConfig2().state.dividerMargin / 2).attr("class", "descr-divider"), T = x.node().getBBox(), E = Math.max(T.width, y.width);
34
- return w.attr("x2", E + 3 * getConfig2().state.padding), h.insert("rect", ":first-child").attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding).attr("width", E + 2 * getConfig2().state.padding).attr("height", T.height + b + 2 * getConfig2().state.padding).attr("rx", getConfig2().state.radius), h;
33
+ let w = e.append("line").attr("x1", getConfig2().state.padding).attr("y1", getConfig2().state.padding + b + getConfig2().state.dividerMargin / 2).attr("y2", getConfig2().state.padding + b + getConfig2().state.dividerMargin / 2).attr("class", "descr-divider"), T = x.node().getBBox(), E = Math.max(T.width, v.width);
34
+ return w.attr("x2", E + 3 * getConfig2().state.padding), e.insert("rect", ":first-child").attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding).attr("width", E + 2 * getConfig2().state.padding).attr("height", T.height + b + 2 * getConfig2().state.padding).attr("rx", getConfig2().state.radius), e;
35
35
  }, "drawDescrState"), addTitleAndBox = /* @__PURE__ */ __name((e, h, g) => {
36
- let _ = getConfig2().state.padding, y = 2 * getConfig2().state.padding, b = e.node().getBBox(), x = b.width, S = b.x, C = e.append("text").attr("x", 0).attr("y", getConfig2().state.titleShift).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(h.id), w = C.node().getBBox().width + y, T = Math.max(w, x);
37
- T === x && (T += y);
36
+ let _ = getConfig2().state.padding, v = 2 * getConfig2().state.padding, b = e.node().getBBox(), x = b.width, S = b.x, C = e.append("text").attr("x", 0).attr("y", getConfig2().state.titleShift).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(h.id), w = C.node().getBBox().width + v, T = Math.max(w, x);
37
+ T === x && (T += v);
38
38
  let E, D = e.node().getBBox();
39
39
  h.doc, E = S - _, w > x && (E = (x - T) / 2 + _), Math.abs(S - D.x) < _ && w > x && (E = S - (w - x) / 2);
40
40
  let O = 1 - getConfig2().state.textHeight;
41
- return e.insert("rect", ":first-child").attr("x", E).attr("y", O).attr("class", g ? "alt-composit" : "composit").attr("width", T).attr("height", D.height + getConfig2().state.textHeight + getConfig2().state.titleShift + 1).attr("rx", "0"), C.attr("x", E + _), w <= x && C.attr("x", S + (T - y) / 2 - w / 2 + _), e.insert("rect", ":first-child").attr("x", E).attr("y", getConfig2().state.titleShift - getConfig2().state.textHeight - getConfig2().state.padding).attr("width", T).attr("height", getConfig2().state.textHeight * 3).attr("rx", getConfig2().state.radius), e.insert("rect", ":first-child").attr("x", E).attr("y", getConfig2().state.titleShift - getConfig2().state.textHeight - getConfig2().state.padding).attr("width", T).attr("height", D.height + 3 + 2 * getConfig2().state.textHeight).attr("rx", getConfig2().state.radius), e;
41
+ return e.insert("rect", ":first-child").attr("x", E).attr("y", O).attr("class", g ? "alt-composit" : "composit").attr("width", T).attr("height", D.height + getConfig2().state.textHeight + getConfig2().state.titleShift + 1).attr("rx", "0"), C.attr("x", E + _), w <= x && C.attr("x", S + (T - v) / 2 - w / 2 + _), e.insert("rect", ":first-child").attr("x", E).attr("y", getConfig2().state.titleShift - getConfig2().state.textHeight - getConfig2().state.padding).attr("width", T).attr("height", getConfig2().state.textHeight * 3).attr("rx", getConfig2().state.radius), e.insert("rect", ":first-child").attr("x", E).attr("y", getConfig2().state.titleShift - getConfig2().state.textHeight - getConfig2().state.padding).attr("width", T).attr("height", D.height + 3 + 2 * getConfig2().state.textHeight).attr("rx", getConfig2().state.radius), e;
42
42
  }, "addTitleAndBox"), drawEndState = /* @__PURE__ */ __name((e) => (e.append("circle").attr("class", "end-state-outer").attr("r", getConfig2().state.sizeUnit + getConfig2().state.miniPadding).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit + getConfig2().state.miniPadding).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit + getConfig2().state.miniPadding), e.append("circle").attr("class", "end-state-inner").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit + 2).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit + 2)), "drawEndState"), drawForkJoinState = /* @__PURE__ */ __name((e, h) => {
43
43
  let g = getConfig2().state.forkWidth, _ = getConfig2().state.forkHeight;
44
44
  if (h.parentId) {
@@ -46,21 +46,21 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
46
46
  g = _, _ = e;
47
47
  }
48
48
  return e.append("rect").style("stroke", "black").style("fill", "black").attr("width", g).attr("height", _).attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding);
49
- }, "drawForkJoinState"), _drawLongText = /* @__PURE__ */ __name((e, h, _, y) => {
50
- let b = 0, x = y.append("text");
49
+ }, "drawForkJoinState"), _drawLongText = /* @__PURE__ */ __name((e, h, g, v) => {
50
+ let b = 0, x = v.append("text");
51
51
  x.style("text-anchor", "start"), x.attr("class", "noteText");
52
52
  let S = e.replace(/\r\n/g, "<br/>");
53
53
  S = S.replace(/\n/g, "<br/>");
54
54
  let C = S.split(common_default.lineBreakRegex), w = 1.25 * getConfig2().state.noteMargin;
55
55
  for (let e of C) {
56
- let g = e.trim();
57
- if (g.length > 0) {
56
+ let _ = e.trim();
57
+ if (_.length > 0) {
58
58
  let e = x.append("tspan");
59
- if (e.text(g), w === 0) {
59
+ if (e.text(_), w === 0) {
60
60
  let h = e.node().getBBox();
61
61
  w += h.height;
62
62
  }
63
- b += w, e.attr("x", h + getConfig2().state.noteMargin), e.attr("y", _ + b + 1.25 * getConfig2().state.noteMargin);
63
+ b += w, e.attr("x", h + getConfig2().state.noteMargin), e.attr("y", g + b + 1.25 * getConfig2().state.noteMargin);
64
64
  }
65
65
  }
66
66
  return {
@@ -69,19 +69,19 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
69
69
  };
70
70
  }, "_drawLongText"), drawNote = /* @__PURE__ */ __name((e, h) => {
71
71
  h.attr("class", "state-note");
72
- let g = h.append("rect").attr("x", 0).attr("y", getConfig2().state.padding), { textWidth: _, textHeight: y } = _drawLongText(e, 0, 0, h.append("g"));
73
- return g.attr("height", y + 2 * getConfig2().state.noteMargin), g.attr("width", _ + getConfig2().state.noteMargin * 2), g;
72
+ let g = h.append("rect").attr("x", 0).attr("y", getConfig2().state.padding), { textWidth: _, textHeight: v } = _drawLongText(e, 0, 0, h.append("g"));
73
+ return g.attr("height", v + 2 * getConfig2().state.noteMargin), g.attr("width", _ + getConfig2().state.noteMargin * 2), g;
74
74
  }, "drawNote"), drawState = /* @__PURE__ */ __name(function(e, h) {
75
75
  let g = h.id, _ = {
76
76
  id: g,
77
77
  label: h.id,
78
78
  width: 0,
79
79
  height: 0
80
- }, y = e.append("g").attr("id", g).attr("class", "stateGroup");
81
- h.type === "start" && drawStartState(y), h.type === "end" && drawEndState(y), (h.type === "fork" || h.type === "join") && drawForkJoinState(y, h), h.type === "note" && drawNote(h.note.text, y), h.type === "divider" && drawDivider(y), h.type === "default" && h.descriptions.length === 0 && drawSimpleState(y, h), h.type === "default" && h.descriptions.length > 0 && drawDescrState(y, h);
82
- let b = y.node().getBBox();
80
+ }, v = e.append("g").attr("id", g).attr("class", "stateGroup");
81
+ h.type === "start" && drawStartState(v), h.type === "end" && drawEndState(v), (h.type === "fork" || h.type === "join") && drawForkJoinState(v, h), h.type === "note" && drawNote(h.note.text, v), h.type === "divider" && drawDivider(v), h.type === "default" && h.descriptions.length === 0 && drawSimpleState(v, h), h.type === "default" && h.descriptions.length > 0 && drawDescrState(v, h);
82
+ let b = v.node().getBBox();
83
83
  return _.width = b.width + 2 * getConfig2().state.padding, _.height = b.height + 2 * getConfig2().state.padding, _;
84
- }, "drawState"), edgeCount = 0, drawEdge = /* @__PURE__ */ __name(function(_, b, w) {
84
+ }, "drawState"), edgeCount = 0, drawEdge = /* @__PURE__ */ __name(function(e, v, w) {
85
85
  let T = /* @__PURE__ */ __name(function(e) {
86
86
  switch (e) {
87
87
  case StateDB.relationType.AGGREGATION: return "aggregation";
@@ -90,40 +90,40 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
90
90
  case StateDB.relationType.DEPENDENCY: return "dependency";
91
91
  }
92
92
  }, "getRelationType");
93
- b.points = b.points.filter((e) => !Number.isNaN(e.y));
94
- let D = b.points, O = line_default().x(function(e) {
93
+ v.points = v.points.filter((e) => !Number.isNaN(e.y));
94
+ let D = v.points, O = line_default().x(function(e) {
95
95
  return e.x;
96
96
  }).y(function(e) {
97
97
  return e.y;
98
- }).curve(basis_default), k = _.append("path").attr("d", O(D)).attr("id", "edge" + edgeCount).attr("class", "transition"), A = "";
98
+ }).curve(basis_default), k = e.append("path").attr("d", O(D)).attr("id", "edge" + edgeCount).attr("class", "transition"), A = "";
99
99
  if (getConfig2().state.arrowMarkerAbsolute && (A = getUrl(!0)), k.attr("marker-end", "url(" + A + "#" + T(StateDB.relationType.DEPENDENCY) + "End)"), w.title !== void 0) {
100
- let e = _.append("g").attr("class", "stateLabel"), { x: y, y: x } = utils_default.calcLabelPosition(b.points), S = common_default.getRows(w.title), T = 0, E = [], D = 0, O = 0;
101
- for (let g = 0; g <= S.length; g++) {
102
- let _ = e.append("text").attr("text-anchor", "middle").text(S[g]).attr("x", y).attr("y", x + T), v = _.node().getBBox();
103
- D = Math.max(D, v.width), O = Math.min(O, v.x), log.info(v.x, y, x + T), T === 0 && (T = _.node().getBBox().height, log.info("Title height", T, x)), E.push(_);
100
+ let h = e.append("g").attr("class", "stateLabel"), { x: b, y: x } = utils_default.calcLabelPosition(v.points), S = common_default.getRows(w.title), T = 0, E = [], D = 0, O = 0;
101
+ for (let e = 0; e <= S.length; e++) {
102
+ let _ = h.append("text").attr("text-anchor", "middle").text(S[e]).attr("x", b).attr("y", x + T), v = _.node().getBBox();
103
+ D = Math.max(D, v.width), O = Math.min(O, v.x), log.info(v.x, b, x + T), T === 0 && (T = _.node().getBBox().height, log.info("Title height", T, x)), E.push(_);
104
104
  }
105
105
  let k = T * S.length;
106
106
  if (S.length > 1) {
107
107
  let e = (S.length - 1) * T * .5;
108
108
  E.forEach((h, g) => h.attr("y", x + g * T - e)), k = T * S.length;
109
109
  }
110
- let A = e.node().getBBox();
111
- e.insert("rect", ":first-child").attr("class", "box").attr("x", y - D / 2 - getConfig2().state.padding / 2).attr("y", x - k / 2 - getConfig2().state.padding / 2 - 3.5).attr("width", D + getConfig2().state.padding).attr("height", k + getConfig2().state.padding), log.info(A);
110
+ let A = h.node().getBBox();
111
+ h.insert("rect", ":first-child").attr("class", "box").attr("x", b - D / 2 - getConfig2().state.padding / 2).attr("y", x - k / 2 - getConfig2().state.padding / 2 - 3.5).attr("width", D + getConfig2().state.padding).attr("height", k + getConfig2().state.padding), log.info(A);
112
112
  }
113
113
  edgeCount++;
114
114
  }, "drawEdge"), conf, transformationLog = {}, setConf = /* @__PURE__ */ __name(function() {}, "setConf"), insertMarkers = /* @__PURE__ */ __name(function(e) {
115
115
  e.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
116
- }, "insertMarkers"), draw = /* @__PURE__ */ __name(function(e, g, y, x) {
116
+ }, "insertMarkers"), draw = /* @__PURE__ */ __name(function(h, _, b, x) {
117
117
  conf = getConfig2().state;
118
118
  let S = getConfig2().securityLevel, C;
119
- S === "sandbox" && (C = select_default("#i" + g));
119
+ S === "sandbox" && (C = select_default("#i" + _));
120
120
  let w = select_default(S === "sandbox" ? C.nodes()[0].contentDocument.body : "body"), T = S === "sandbox" ? C.nodes()[0].contentDocument : document;
121
- log.debug("Rendering diagram " + e);
122
- let E = w.select(`[id='${g}']`);
123
- insertMarkers(E), renderDoc(x.db.getRootDoc(), E.append("g").attr("id", g + "-root"), void 0, !1, w, T, x);
121
+ log.debug("Rendering diagram " + h);
122
+ let E = w.select(`[id='${_}']`);
123
+ insertMarkers(E), renderDoc(x.db.getRootDoc(), E.append("g").attr("id", _ + "-root"), void 0, !1, w, T, x);
124
124
  let D = conf.padding, O = E.node().getBBox(), k = O.width + D * 2, A = O.height + D * 2;
125
125
  configureSvgSize(E, A, k * 1.75, conf.useMaxWidth), E.attr("viewBox", `${O.x - conf.padding} ${O.y - conf.padding} ` + k + " " + A);
126
- }, "draw"), getLabelWidth = /* @__PURE__ */ __name((e) => e ? e.length * conf.fontSizeFactor : 1, "getLabelWidth"), renderDoc = /* @__PURE__ */ __name((e, _, v, y, b, x, S) => {
126
+ }, "draw"), getLabelWidth = /* @__PURE__ */ __name((e) => e ? e.length * conf.fontSizeFactor : 1, "getLabelWidth"), renderDoc = /* @__PURE__ */ __name((e, h, v, y, b, x, S) => {
127
127
  let C = new Graph({
128
128
  compound: !0,
129
129
  multigraph: !0
@@ -153,27 +153,27 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
153
153
  });
154
154
  let O = S.db.getStates(), k = S.db.getRelations(), A = Object.keys(O);
155
155
  for (let e of A) {
156
- let h = O[e];
157
- v && (h.parentId = v);
158
- let g;
159
- if (h.doc) {
160
- let e = _.append("g").attr("id", h.id).attr("class", "stateGroup");
161
- g = renderDoc(h.doc, e, h.id, !y, b, x, S);
156
+ let g = O[e];
157
+ v && (g.parentId = v);
158
+ let _;
159
+ if (g.doc) {
160
+ let e = h.append("g").attr("id", g.id).attr("class", "stateGroup");
161
+ _ = renderDoc(g.doc, e, g.id, !y, b, x, S);
162
162
  {
163
- e = addTitleAndBox(e, h, y);
164
- let _ = e.node().getBBox();
165
- g.width = _.width, g.height = _.height + conf.padding / 2, transformationLog[h.id] = { y: conf.compositTitleSize };
163
+ e = addTitleAndBox(e, g, y);
164
+ let h = e.node().getBBox();
165
+ _.width = h.width, _.height = h.height + conf.padding / 2, transformationLog[g.id] = { y: conf.compositTitleSize };
166
166
  }
167
- } else g = drawState(_, h, C);
168
- if (h.note) {
169
- let e = drawState(_, {
167
+ } else _ = drawState(h, g, C);
168
+ if (g.note) {
169
+ let e = drawState(h, {
170
170
  descriptions: [],
171
- id: h.id + "-note",
172
- note: h.note,
171
+ id: g.id + "-note",
172
+ note: g.note,
173
173
  type: "note"
174
174
  }, C);
175
- h.note.position === "left of" ? (C.setNode(g.id + "-note", e), C.setNode(g.id, g)) : (C.setNode(g.id, g), C.setNode(g.id + "-note", e)), C.setParent(g.id, g.id + "-group"), C.setParent(g.id + "-note", g.id + "-group");
176
- } else C.setNode(g.id, g);
175
+ g.note.position === "left of" ? (C.setNode(_.id + "-note", e), C.setNode(_.id, _)) : (C.setNode(_.id, _), C.setNode(_.id + "-note", e)), C.setParent(_.id, _.id + "-group"), C.setParent(_.id + "-note", _.id + "-group");
176
+ } else C.setNode(_.id, _);
177
177
  }
178
178
  log.debug("Count=", C.nodeCount(), C);
179
179
  let j = 0;
@@ -185,7 +185,7 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
185
185
  labelpos: "c"
186
186
  }, "id" + j);
187
187
  }), layout(C), log.debug("Graph after layout", C.nodes());
188
- let M = _.node();
188
+ let M = h.node();
189
189
  C.nodes().forEach(function(e) {
190
190
  e !== void 0 && C.node(e) !== void 0 ? (log.warn("Node " + e + ": " + JSON.stringify(C.node(e))), b.select("#" + M.id + " #" + e).attr("transform", "translate(" + (C.node(e).x - C.node(e).width / 2) + "," + (C.node(e).y + (transformationLog[e] ? transformationLog[e].y : 0) - C.node(e).height / 2) + " )"), b.select("#" + M.id + " #" + e).attr("data-x-shift", C.node(e).x - C.node(e).width / 2), x.querySelectorAll("#" + M.id + " #" + e + " .divider").forEach((e) => {
191
191
  let h = e.parentElement, g = 0, _ = 0;
@@ -194,7 +194,7 @@ var drawStartState = /* @__PURE__ */ __name((e) => e.append("circle").attr("clas
194
194
  });
195
195
  let N = M.getBBox();
196
196
  C.edges().forEach(function(e) {
197
- e !== void 0 && C.edge(e) !== void 0 && (log.debug("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(C.edge(e))), drawEdge(_, C.edge(e), C.edge(e).relation));
197
+ e !== void 0 && C.edge(e) !== void 0 && (log.debug("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(C.edge(e))), drawEdge(h, C.edge(e), C.edge(e).relation));
198
198
  }), N = M.getBBox();
199
199
  let P = {
200
200
  id: v || "root",