@kern0x1b/penstock-cli 26.10.4 → 26.10.6

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 (175) hide show
  1. package/dist/chunk-account-CMvFjqGw.js +1 -0
  2. package/dist/chunk-agentFailure-BiU8hJ-k.js +1 -0
  3. package/dist/chunk-agentLaunch-CRWlfuXv.js +1 -0
  4. package/dist/chunk-agentServe-M3jzEiHj.js +10 -0
  5. package/dist/chunk-analyze-CCZJQpbU.js +1 -0
  6. package/dist/chunk-analyze-D_2dPr5n.js +1 -0
  7. package/dist/chunk-apply-Dmo_XdOA.js +1 -0
  8. package/dist/chunk-atomicWrite-C6J1gDtO.js +1 -0
  9. package/dist/chunk-bot-51CfGKVL.js +11 -0
  10. package/dist/chunk-cacheDirectory-7sa0970e.js +1 -0
  11. package/dist/chunk-codeFactSet-BqEOkvBS.js +1 -0
  12. package/dist/chunk-codeIndex-olvCG85q.js +1 -0
  13. package/dist/chunk-codeLinks-DW721PAt.js +1 -0
  14. package/dist/chunk-codeLinks-S_BEJVPa.js +1 -0
  15. package/dist/chunk-command-B-7DfFou.js +5 -0
  16. package/dist/chunk-command-CyUljAAc.js +1 -0
  17. package/dist/chunk-command-D7WS1aRl.js +1 -0
  18. package/dist/chunk-commands-CMEkVxle.js +1 -0
  19. package/dist/chunk-compose-DCAQQndd.js +4 -0
  20. package/dist/chunk-connectors-DG6IqkGl.js +1 -0
  21. package/dist/chunk-connectors-UpMjbdpU.js +2 -0
  22. package/dist/chunk-context-B-5CZFAT.js +1 -0
  23. package/dist/chunk-convert-B7srqZpZ.js +1 -0
  24. package/dist/chunk-deploy-CGLF2dB1.js +1 -0
  25. package/dist/chunk-deploy-Clj9f2y-.js +2 -0
  26. package/dist/chunk-diagram-CIy-F5iz.js +1 -0
  27. package/dist/chunk-diagram-DYoeuAJx.js +1 -0
  28. package/dist/chunk-diagramDefects-DlVCfZci.js +1 -0
  29. package/dist/chunk-diagrams-wnFsPOKv.js +1 -0
  30. package/dist/chunk-diff-BJ2sJwcs.js +1 -0
  31. package/dist/chunk-diff-BelMuQhT.js +1 -0
  32. package/dist/chunk-diffModels-DYtf3au1.js +3 -0
  33. package/dist/chunk-dispatch-CescmVW-.js +6 -0
  34. package/dist/chunk-docs-CY6ICsip.js +1 -0
  35. package/dist/chunk-docs-DzOiA9zg.js +30 -0
  36. package/dist/chunk-doctor-GDNwRCg3.js +1 -0
  37. package/dist/chunk-drawing-C2qewK8L.js +8 -0
  38. package/dist/chunk-editPreview-DGu4slO6.js +1 -0
  39. package/dist/chunk-engine-CxgdJ2wO.js +1 -0
  40. package/dist/chunk-export-CDFdw7Eh.js +1 -0
  41. package/dist/chunk-export-DP1Hab-_.js +20 -0
  42. package/dist/chunk-facts-CfA8qH5b.js +1 -0
  43. package/dist/chunk-failure-BK7fu4Yo.js +1 -0
  44. package/dist/chunk-features-CiC2Yoej.js +1 -0
  45. package/dist/chunk-features-Dq1Gvqp3.js +1 -0
  46. package/dist/chunk-folders-BO8qUHUV.js +1 -0
  47. package/dist/chunk-folders-yTMgOqLo.js +1 -0
  48. package/dist/chunk-formChecks-BOiD8Idv.js +1 -0
  49. package/dist/chunk-git-BOKyPQj7.js +3 -0
  50. package/dist/chunk-help-DKtpVSxI.js +85 -0
  51. package/dist/chunk-importCommand-_CnKIoNk.js +1 -0
  52. package/dist/chunk-init-3zEab7KI.js +227 -0
  53. package/dist/chunk-license-Cvnp1Aee.js +1 -0
  54. package/dist/chunk-license-DU4P8P8A.js +1 -0
  55. package/dist/chunk-lint-Df2davEY.js +1 -0
  56. package/dist/chunk-load-CRmIvn7e.js +5 -0
  57. package/dist/chunk-main-BY7JEoe1.js +1 -0
  58. package/dist/chunk-mcp-DKX2xT8d.js +77 -0
  59. package/dist/chunk-mcpLaunch-DpDE0hW-.js +592 -0
  60. package/dist/chunk-migrate-BaNzQNyD.js +2 -0
  61. package/dist/chunk-migrate-DcxIkacG.js +1 -0
  62. package/dist/chunk-moddle-AjPH0QEc.js +1 -0
  63. package/dist/chunk-moddle-Dlk0NR-u.js +1 -0
  64. package/dist/chunk-own-CX-3lIbf.js +1 -0
  65. package/dist/chunk-penstockCli-B0_wWDGy.js +1 -0
  66. package/dist/chunk-placeholderLayout-B18ekWmh.js +1 -0
  67. package/dist/chunk-plural-Di3FH8HP.js +1 -0
  68. package/dist/chunk-pr-DXs1coaS.js +1 -0
  69. package/dist/chunk-preferencesFile-F6bAlNrk.js +1 -0
  70. package/dist/chunk-project-BS-4dy5o.js +1 -0
  71. package/dist/chunk-report-CtkTRSGT.js +1 -0
  72. package/dist/chunk-review-WIpFGKkc.js +1 -0
  73. package/dist/chunk-rules-CoJAmvwu.js +1 -0
  74. package/dist/chunk-security-BKVRwb6V.js +18 -0
  75. package/dist/chunk-share-B3W30sbt.js +239 -0
  76. package/dist/chunk-src-CxTpK8wk.js +890 -0
  77. package/dist/chunk-stages-Gm5BZUp5.js +3 -0
  78. package/dist/chunk-status-X9Ny-Nu8.js +1 -0
  79. package/dist/chunk-systemError-F6bMRwXU.js +1 -0
  80. package/dist/chunk-systemError-cGwrYkmo.js +1 -0
  81. package/dist/chunk-table-B2WTbpMl.js +1 -0
  82. package/dist/chunk-taskTest-B3gfOti1.js +1 -0
  83. package/dist/chunk-taskTest-D-WDCLD5.js +2 -0
  84. package/dist/chunk-templates-BdsiNRJ3.js +1 -0
  85. package/dist/chunk-testCases-ba8k3BJD.js +4 -0
  86. package/dist/chunk-testCases-gXzkCxF5.js +1 -0
  87. package/dist/chunk-tests-BLBZ1eh2.js +1 -0
  88. package/dist/chunk-tests-DxL0JMtB.js +23 -0
  89. package/dist/chunk-translator-BAjzyPKE.js +22 -0
  90. package/dist/chunk-trust-Ci9pDa27.js +1 -0
  91. package/dist/chunk-trust-DlJIoKs8.js +1 -0
  92. package/dist/chunk-version-CdS8_QQd.js +1 -0
  93. package/dist/chunk-workerVariables-BnLSud8o.js +1 -0
  94. package/dist/chunk-wrapper-DqqRt0FZ.js +3 -0
  95. package/dist/chunk-wrapper-E_u1_-Db.js +1 -0
  96. package/dist/locales/de.json +9277 -0
  97. package/dist/locales/es.json +9277 -0
  98. package/dist/locales/fr.json +9277 -0
  99. package/dist/locales/ja.json +9124 -0
  100. package/dist/locales/ko.json +9124 -0
  101. package/dist/locales/pt-BR.json +9277 -0
  102. package/dist/locales/ru.json +9583 -0
  103. package/dist/locales/zh.json +9124 -0
  104. package/dist/penstock.js +1 -2363
  105. package/dist/web/assets/{AgentSettings-BvzT4Itb.js → AgentSettings-4B4hSxBk.js} +1 -1
  106. package/dist/web/assets/{AgentsDialog-BqY3wKcV.js → AgentsDialog-C32ALLtE.js} +1 -1
  107. package/dist/web/assets/{BpmnCanvas-BTdM1l9l.js → BpmnCanvas-CZOJiq6t.js} +3 -3
  108. package/dist/web/assets/{BpmnDocument-uifU3NGG.js → BpmnDocument-BNLfXWLG.js} +4 -4
  109. package/dist/web/assets/{ConflictDialog-C4A9-Psr.js → ConflictDialog-mUJYs1zz.js} +1 -1
  110. package/dist/web/assets/{DiffDocument-BMTSevd7.js → DiffDocument-C7csJl3x.js} +1 -1
  111. package/dist/web/assets/{DmnDocument-B8wWuhfX.js → DmnDocument-B2dyX49k.js} +1 -1
  112. package/dist/web/assets/{FormDocument-bQ5VRsrh.js → FormDocument-ChSqEPE5.js} +1 -1
  113. package/dist/web/assets/{FormStepView-DbMCFSO1.js → FormStepView-j4C0Qovo.js} +1 -1
  114. package/dist/web/assets/GraphAwareLayoutService-DD2iXfXi.js +21 -0
  115. package/dist/web/assets/NewFileDialog-eeIqqmXc.js +47 -0
  116. package/dist/web/assets/{QuickOpen-mzlfRqvG.js → QuickOpen-C0I0FRt2.js} +1 -1
  117. package/dist/web/assets/{ScriptPane-C9q5wLfO.js → ScriptPane-BAvcgLWX.js} +2 -2
  118. package/dist/web/assets/{ScriptRunDialog-Dm-_0H1Z.js → ScriptRunDialog-DLlMiJiK.js} +1 -1
  119. package/dist/web/assets/{SettingsDialog-Bhwwtyg7.js → SettingsDialog-C3ts5aiN.js} +1 -1
  120. package/dist/web/assets/{ShortcutsDialog-BXP0h7Tp.js → ShortcutsDialog-DVV504pS.js} +1 -1
  121. package/dist/web/assets/{SourceDocument-DgrNCprS.js → SourceDocument-DRgUPazk.js} +1 -1
  122. package/dist/web/assets/{TextDocument-D8N0uaQa.js → TextDocument-Bm0sPjft.js} +1 -1
  123. package/dist/web/assets/{UnreadableFileLayer-D2Rcxnt7.js → UnreadableFileLayer-DbW33CnE.js} +1 -1
  124. package/dist/web/assets/{UploadDialog-Dinga4TP.js → UploadDialog-BSl3zFNn.js} +1 -1
  125. package/dist/web/assets/{apply-CzXxiRWK.js → apply-B3FkgxjU.js} +1 -1
  126. package/dist/web/assets/{bpmnTheme-db4tYvop.js → bpmnTheme-C3HdVV1D.js} +1 -1
  127. package/dist/web/assets/bridgeInstance-BZBhe5hF.js +851 -0
  128. package/dist/web/assets/{commands-BAnBjEk3.js → commands-DHPxsavW.js} +1 -1
  129. package/dist/web/assets/de-BH_bnU4H.js +1 -0
  130. package/dist/web/assets/{dialog-KVjfqSrB.js → dialog-LcHsiQKJ.js} +1 -1
  131. package/dist/web/assets/{diff-Cw0ENHJR.js → diff-bpdDl0KE.js} +1 -1
  132. package/dist/web/assets/{documentBridge-D5SaBThP.js → documentBridge-4fZNBdp4.js} +2 -2
  133. package/dist/web/assets/{documents-Dkor36oS.js → documents-FOVGbYYF.js} +1 -1
  134. package/dist/web/assets/{duplicate-ud-StKuO.js → duplicate-CdCuOnUl.js} +1 -1
  135. package/dist/web/assets/{engines-BQRXHtW8.js → engines-C884tl-T.js} +1 -1
  136. package/dist/web/assets/es-D7v7zkxC.js +1 -0
  137. package/dist/web/assets/{formChecks-DFrCuO4I.js → formChecks-Bvuzw2sb.js} +1 -1
  138. package/dist/web/assets/fr-CuzAJTai.js +1 -0
  139. package/dist/web/assets/frontend-Y1MvD_Uo.js +1 -0
  140. package/dist/web/assets/httpHost-CnF86WJB.js +1 -0
  141. package/dist/web/assets/{index.es-dFUgH_-g.js → index.es-0rLw__5_.js} +1 -1
  142. package/dist/web/assets/{index.es-DR-czZl7.js → index.es-BP1Cc_0e.js} +1 -1
  143. package/dist/web/assets/{intelligence-BkxcJMU_.js → intelligence-E2EBYhHr.js} +1 -1
  144. package/dist/web/assets/ja-BgElyPpa.js +1 -0
  145. package/dist/web/assets/{jspdf.es.min-BMfOi0te.js → jspdf.es.min-BSRrqhq_.js} +3 -3
  146. package/dist/web/assets/ko-j1Oi9MKH.js +1 -0
  147. package/dist/web/assets/{lib-C3uYnGWx.js → lib-De3fPoUi.js} +1 -1
  148. package/dist/web/assets/{platform-zEAtGnYc.js → platform-CjEV0T5t.js} +1 -1
  149. package/dist/web/assets/{preferences-K6VRM9Ah.js → preferences-CmXdxfFo.js} +1 -1
  150. package/dist/web/assets/pt-BR-CRWG2th4.js +1 -0
  151. package/dist/web/assets/ru-KJyuYSUL.js +1 -0
  152. package/dist/web/assets/{run-fV7AmV4q.js → run-B9EUa035.js} +1 -1
  153. package/dist/web/assets/{samples-D-3Bquy_.js → samples-03zukOEM.js} +1 -1
  154. package/dist/web/assets/{testCaseRuns-C-0blM3d.js → testCaseRuns-BYhJPipg.js} +1 -1
  155. package/dist/web/assets/translator-OIpY8kTG.js +1 -0
  156. package/dist/web/assets/{ui-TBzvKaKQ.js → ui-BLMlfdD3.js} +1 -1
  157. package/dist/web/assets/{useTrace-BgpeAcQR.js → useTrace-Cr28sh4A.js} +1 -1
  158. package/dist/web/assets/{web-qJCedJJw.js → web-Q9VZNxQi.js} +5 -5
  159. package/dist/web/assets/zh-CukDLcVz.js +1 -0
  160. package/dist/web/index.html +19 -19
  161. package/package.json +1 -1
  162. package/dist/web/assets/GraphAwareLayoutService-CePcz6pL.js +0 -21
  163. package/dist/web/assets/NewFileDialog-DsoFURD9.js +0 -47
  164. package/dist/web/assets/bridgeInstance-BPwbITOf.js +0 -850
  165. package/dist/web/assets/de-Cd75cvcZ.js +0 -1
  166. package/dist/web/assets/es-D2PUEg_Z.js +0 -1
  167. package/dist/web/assets/fr-DkGYGarc.js +0 -1
  168. package/dist/web/assets/frontend-B05iyhCp.js +0 -1
  169. package/dist/web/assets/httpHost-DX-P_FDg.js +0 -1
  170. package/dist/web/assets/ja-De4NAvK-.js +0 -1
  171. package/dist/web/assets/ko-Ci27KQ5n.js +0 -1
  172. package/dist/web/assets/pt-BR-CNmIseZJ.js +0 -1
  173. package/dist/web/assets/ru-BtK7W4xW.js +0 -1
  174. package/dist/web/assets/translator-Dvvasoz-.js +0 -1
  175. package/dist/web/assets/zh-DxI_A5kC.js +0 -1
@@ -0,0 +1,239 @@
1
+ import{r as e,t}from"./chunk-translator-BAjzyPKE.js";import{A as n,D as r,E as i,O as a,dt as o,lt as s,ut as c,vn as l}from"./chunk-src-CxTpK8wk.js";import"./chunk-moddle-Dlk0NR-u.js";import"./chunk-docs-CY6ICsip.js";import{s as u}from"./chunk-failure-BK7fu4Yo.js";import"./chunk-apply-Dmo_XdOA.js";import{r as d}from"./chunk-context-B-5CZFAT.js";import"./chunk-rules-CoJAmvwu.js";import"./chunk-formChecks-BOiD8Idv.js";import{t as f}from"./chunk-drawing-C2qewK8L.js";import"./chunk-diagramDefects-DlVCfZci.js";import{n as p}from"./chunk-systemError-F6bMRwXU.js";import m from"node:path";import{mkdirSync as h,readFileSync as g,writeFileSync as _}from"node:fs";import{BPMNIO_IMG as v}from"bpmn-js/lib/util/PoweredByUtil.js";function y(){return`(function () {
2
+ var canvas = document.getElementById('canvas');
3
+ var noDocumentation = ${JSON.stringify(e(`app.share.noDocumentation`))};
4
+ var closeLabel = ${JSON.stringify(e(`app.common.close`))};
5
+ var svg = canvas.querySelector('svg');
6
+ var info = document.getElementById('info');
7
+ var entries = JSON.parse(document.getElementById('docs').textContent || '[]');
8
+ var docs = {};
9
+ entries.forEach(function (entry) { docs[entry.id] = entry; });
10
+ var base = svg.getAttribute('viewBox').split(/[\\s,]+/).map(Number);
11
+ var view = base.slice();
12
+ var moved = false;
13
+ var pointers = {};
14
+ var drag = null;
15
+ var pinch = 0;
16
+
17
+ function apply() {
18
+ svg.setAttribute('viewBox', view.map(function (value) { return Math.round(value * 100) / 100; }).join(' '));
19
+ }
20
+
21
+ function fit() {
22
+ view = base.slice();
23
+ apply();
24
+ }
25
+
26
+ function scale() {
27
+ var box = svg.getBoundingClientRect();
28
+ if (!box.width || !box.height) return { factor: 1, left: 0, top: 0 };
29
+ var factor = Math.min(box.width / view[2], box.height / view[3]);
30
+ return { factor: factor, left: (box.width - view[2] * factor) / 2, top: (box.height - view[3] * factor) / 2, box: box };
31
+ }
32
+
33
+ function zoom(factor, x, y) {
34
+ var next = view[2] / factor;
35
+ if (next < base[2] / 40 || next > base[2] * 8) return;
36
+ view = [x - (x - view[0]) / factor, y - (y - view[1]) / factor, next, view[3] / factor];
37
+ apply();
38
+ }
39
+
40
+ function centre() {
41
+ return [view[0] + view[2] / 2, view[1] + view[3] / 2];
42
+ }
43
+
44
+ function at(clientX, clientY) {
45
+ var s = scale();
46
+ if (!s.box) return centre();
47
+ return [view[0] + (clientX - s.box.left - s.left) / s.factor, view[1] + (clientY - s.box.top - s.top) / s.factor];
48
+ }
49
+
50
+ function press(id, factor) {
51
+ document.getElementById(id).addEventListener('click', function () {
52
+ var c = centre();
53
+ zoom(factor, c[0], c[1]);
54
+ });
55
+ }
56
+
57
+ press('zoom-in', 1.25);
58
+ press('zoom-out', 1 / 1.25);
59
+ document.getElementById('zoom-fit').addEventListener('click', fit);
60
+
61
+ canvas.addEventListener('wheel', function (event) {
62
+ event.preventDefault();
63
+ var p = at(event.clientX, event.clientY);
64
+ var factor = event.ctrlKey ? Math.exp(-event.deltaY * 0.01) : event.deltaY < 0 ? 1.1 : 1 / 1.1;
65
+ zoom(factor, p[0], p[1]);
66
+ }, { passive: false });
67
+
68
+ function spread() {
69
+ var ids = Object.keys(pointers);
70
+ var a = pointers[ids[0]];
71
+ var b = pointers[ids[1]];
72
+ return Math.hypot(a.x - b.x, a.y - b.y);
73
+ }
74
+
75
+ canvas.addEventListener('pointerdown', function (event) {
76
+ pointers[event.pointerId] = { x: event.clientX, y: event.clientY };
77
+ moved = false;
78
+ if (Object.keys(pointers).length === 2) pinch = spread();
79
+ drag = { x: event.clientX, y: event.clientY, view: view.slice() };
80
+ });
81
+
82
+ canvas.addEventListener('pointermove', function (event) {
83
+ if (!pointers[event.pointerId]) return;
84
+ pointers[event.pointerId] = { x: event.clientX, y: event.clientY };
85
+ if (Object.keys(pointers).length === 2) {
86
+ var now = spread();
87
+ if (pinch && now) {
88
+ var ids = Object.keys(pointers);
89
+ var mid = at((pointers[ids[0]].x + pointers[ids[1]].x) / 2, (pointers[ids[0]].y + pointers[ids[1]].y) / 2);
90
+ zoom(now / pinch, mid[0], mid[1]);
91
+ }
92
+ pinch = now;
93
+ moved = true;
94
+ return;
95
+ }
96
+ if (!drag) return;
97
+ var dx = event.clientX - drag.x;
98
+ var dy = event.clientY - drag.y;
99
+ if (!moved && Math.abs(dx) + Math.abs(dy) < 4) return;
100
+ moved = true;
101
+ var factor = scale().factor;
102
+ view = [drag.view[0] - dx / factor, drag.view[1] - dy / factor, view[2], view[3]];
103
+ apply();
104
+ });
105
+
106
+ function release(event) {
107
+ delete pointers[event.pointerId];
108
+ pinch = 0;
109
+ drag = null;
110
+ }
111
+ canvas.addEventListener('pointerup', release);
112
+ canvas.addEventListener('pointercancel', release);
113
+
114
+ canvas.addEventListener('keydown', function (event) {
115
+ var c = centre();
116
+ var step = view[2] / 10;
117
+ if (event.key === '+' || event.key === '=') zoom(1.25, c[0], c[1]);
118
+ else if (event.key === '-') zoom(1 / 1.25, c[0], c[1]);
119
+ else if (event.key === '0') fit();
120
+ else if (event.key === 'ArrowLeft') { view[0] -= step; apply(); }
121
+ else if (event.key === 'ArrowRight') { view[0] += step; apply(); }
122
+ else if (event.key === 'ArrowUp') { view[1] -= step; apply(); }
123
+ else if (event.key === 'ArrowDown') { view[1] += step; apply(); }
124
+ else if (event.key === 'Escape') select(null);
125
+ });
126
+
127
+ function select(node) {
128
+ var previous = svg.querySelector('.penstock-selected');
129
+ if (previous) previous.classList.remove('penstock-selected');
130
+ if (!node) {
131
+ info.hidden = true;
132
+ return;
133
+ }
134
+ node.classList.add('penstock-selected');
135
+ var id = node.getAttribute('data-element-id');
136
+ var entry = Object.prototype.hasOwnProperty.call(docs, id) ? docs[id] : { id: id, type: '', name: '', documentation: '' };
137
+ info.textContent = '';
138
+ var title = document.createElement('h2');
139
+ title.textContent = entry.name || entry.id;
140
+ info.appendChild(title);
141
+ if (entry.type) {
142
+ var kind = document.createElement('p');
143
+ kind.className = 'kind';
144
+ kind.textContent = entry.type;
145
+ info.appendChild(kind);
146
+ }
147
+ var text = document.createElement('p');
148
+ if (entry.documentation) {
149
+ text.textContent = entry.documentation;
150
+ } else {
151
+ text.className = 'none';
152
+ text.textContent = noDocumentation;
153
+ }
154
+ info.appendChild(text);
155
+ var close = document.createElement('button');
156
+ close.type = 'button';
157
+ close.setAttribute('aria-label', closeLabel);
158
+ close.textContent = '\\u00d7';
159
+ close.addEventListener('click', function (event) {
160
+ event.stopPropagation();
161
+ select(null);
162
+ });
163
+ info.appendChild(close);
164
+ info.hidden = false;
165
+ }
166
+
167
+ canvas.addEventListener('click', function (event) {
168
+ if (moved) {
169
+ moved = false;
170
+ return;
171
+ }
172
+ var target = event.target && event.target.closest ? event.target.closest('[data-element-id]') : null;
173
+ select(target);
174
+ });
175
+
176
+ fit();
177
+ })();`}const b=`http://www.omg.org/spec/BPMN/20100524/MODEL`,x=/* @__PURE__ */ new Set([`definitions`,`process`,`collaboration`,`laneSet`,`message`,`signal`,`error`,`escalation`,`itemDefinition`,`dataStore`,`documentation`]),S={"zoom-in":`<path d="M3 8h10M8 3v10"/>`,"zoom-out":`<path d="M3 8h10"/>`,"zoom-fit":`<path d="M2 6V2h4M10 2h4v4M14 10v4h-4M6 14H2v-4"/>`};function C(e){let t=n(e);return t.charAt(0).toUpperCase()+t.slice(1)}function w(e){let t=e.children.find(e=>e.local===`documentation`);return t?t.text.trim():``}function T(e){let t=o(e),n=[],r=e=>{for(let t of e.children){if(t.ns===b&&t.attrs.id&&!x.has(t.local)){let e=(t.attrs.name??``).replace(/\s+/g,` `).trim(),r=w(t);(e||r)&&n.push({id:t.attrs.id,type:C(t.local),name:e,documentation:r})}t.ns===b&&r(t)}};return r(t),n}function E(e,t){let n=o(e),r=e=>c(n,e).map(e=>(e.attrs.name??``).replace(/\s+/g,` `).trim()).find(Boolean),i=(n.attrs.name??``).trim();return r(`collaboration`)||(c(n,`participant`).length>1?i||t:r(`participant`)??r(`process`)??(i||t))}function D(t){let n=t.indexOf(`<svg`);if(n<0)throw Error(e(`app.share.couldNotBeDrawn`));let r=t.slice(n),i=/^<svg[^>]*>/.exec(r);if(!i)throw Error(e(`app.share.couldNotBeDrawn`));let a=i[0];if(!/viewBox="/.test(a)){let e=/\swidth="([\d.]+)/.exec(a)?.[1]??`100`,t=/\sheight="([\d.]+)/.exec(a)?.[1]??`100`;a=a.replace(`<svg`,`<svg viewBox="0 0 ${e} ${t}"`)}return a=a.replace(/\s(width|height|preserveAspectRatio)="[^"]*"/g,``).replace(`<svg`,`<svg preserveAspectRatio="xMidYMid meet" role="img"`),r=a+r.slice(i[0].length),r}function O(e){return JSON.stringify(e).replace(/</g,`\\u003c`).replace(/* @__PURE__ */ RegExp(`\u2028`,`g`),`\\u2028`).replace(/* @__PURE__ */ RegExp(`\u2029`,`g`),`\\u2029`)}function k(e,t){return`<table><thead><tr>${e.map(e=>`<th>${s(e)}</th>`).join(``)}</tr></thead><tbody>\n${t.map(e=>`<tr>${e.map(e=>`<td>${s(e)}</td>`).join(``)}</tr>`).join(`
178
+ `)}\n</tbody></table>`}function A(e,t){return`<section><h2${t?` class="name"`:``}>${s(e.title)}</h2>${e.description?`<p>${s(e.description)}</p>`:``}${e.note?`<p class="note">${s(e.note)}</p>`:``}${k(e.head,e.rows)}</section>`}function j(){let t=(e,t)=>`<button type="button" id="${e}" aria-label="${t}" title="${t}"><svg viewBox="0 0 16 16" aria-hidden="true">${S[e]}</svg></button>`;return`<div id="controls">${t(`zoom-in`,e(`app.share.zoomIn`))}${t(`zoom-out`,e(`app.share.zoomOut`))}${t(`zoom-fit`,e(`app.share.fitToScreen`))}</div>`}function M(n){let r=s(n.title),i=`<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; script-src 'unsafe-inline'; base-uri 'none'; form-action 'none'"><meta name="generator" content="Penstock"><title>${r}</title><style>
179
+ :root{color-scheme:light dark;--bg:#ffffff;--surface:#f7f8fa;--border:#ebecf0;--fg:#27282c;--muted:#6c707e;--accent:#3574f0;--hover:#ebecf0}
180
+ @media (prefers-color-scheme: dark){:root{--bg:#1e1f22;--surface:#2b2d30;--border:#43454a;--fg:#ced0d6;--muted:#868a91;--accent:#548af7;--hover:#393b40}#canvas svg{filter:invert(.9) hue-rotate(180deg)}}
181
+ *{box-sizing:border-box}
182
+ html,body{height:100%;margin:0}
183
+ body{display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:13px/1.5 "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
184
+ header{padding:12px 16px}
185
+ h1{font-size:16px;line-height:24px;margin:0;font-weight:600}
186
+ .hint{margin:0;color:var(--muted);font-size:12px}
187
+ main{position:relative;flex:1;min-height:0}
188
+ footer{padding:8px 16px;color:var(--muted);font-size:12px;line-height:24px}
189
+ #canvas{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;outline:none}
190
+ #canvas:active{cursor:grabbing}
191
+ #canvas svg{display:block;width:100%;height:100%}
192
+ #canvas .djs-element{cursor:pointer}
193
+ .penstock-selected{filter:drop-shadow(0 0 3px var(--accent))}
194
+ #controls{position:absolute;top:12px;left:12px;display:flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px}
195
+ #controls button{width:28px;height:28px;padding:0;display:grid;place-items:center;background:transparent;color:var(--fg);border:0;border-radius:6px;cursor:pointer}
196
+ #controls button:hover{background:var(--hover)}
197
+ #controls button:focus-visible,#info button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
198
+ #controls svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
199
+ #info{position:absolute;top:12px;right:12px;width:320px;max-width:calc(100% - 24px);max-height:calc(100vh - 128px);overflow:auto;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.12)}
200
+ #info[hidden]{display:none}
201
+ #info h2{margin:0 24px 0 0;font-size:13px;line-height:20px;font-weight:600}
202
+ #info .kind{margin:0 0 8px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
203
+ #info p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
204
+ #info .none{color:var(--muted)}
205
+ #info button{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;background:transparent;color:var(--muted);border:0;border-radius:6px;cursor:pointer}
206
+ #info button:hover{background:var(--hover);color:var(--fg)}
207
+ .document{flex:1;overflow:auto;padding:16px}
208
+ .document section{max-width:1100px;margin:0 auto 24px}
209
+ .document h2{margin:0 0 4px;font-size:11px;line-height:20px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}
210
+ .document h2.name{font-size:13px;letter-spacing:0;text-transform:none;color:var(--fg)}
211
+ .document p{margin:0 0 8px}
212
+ .document .note{color:var(--muted);font-size:12px}
213
+ .document table{border-collapse:collapse;width:100%}
214
+ .document th,.document td{padding:4px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
215
+ .document th{color:var(--muted);font-weight:600;font-size:12px;border-bottom:1px solid var(--border)}
216
+ .document tbody tr:hover{background:var(--hover)}
217
+ ${n.kind===`bpmn`?`
218
+ .bjs-powered-by{position:fixed;bottom:12px;right:12px;z-index:1000;color:var(--muted);line-height:0}
219
+ .bjs-powered-by:hover{color:var(--fg)}
220
+ .bjs-powered-by svg{display:block}
221
+ `:``}</style>`,a=`<footer>${s(e(`app.share.madeWith`))}</footer>`;if(n.kind===`bpmn`){let o=n.subtitle??e(`app.share.clickAnElement`);return`<!doctype html>
222
+ <html lang="${t()}"><head>${i}</head>
223
+ <body>
224
+ <header><h1>${r}</h1><p class="hint">${s(o)}</p></header>
225
+ <main><div id="canvas" tabindex="0">${D(n.svg)}</div>${j()}<aside id="info" role="region" aria-live="polite" aria-label="${s(e(`app.share.elementDocumentation`))}" hidden></aside></main>
226
+ ${a}
227
+ <a class="bjs-powered-by" href="https://bpmn.io" target="_blank" rel="noopener" title="Powered by bpmn.io" aria-label="Powered by bpmn.io">${v}</a>
228
+ <script type="application/json" id="docs">${O(n.docs)}<\/script>
229
+ <script>${y()}<\/script>
230
+ </body></html>
231
+ `}let o=n.sections.filter(e=>e.rows.length>0),c=o.length>1;return`<!doctype html>
232
+ <html lang="${t()}"><head>${i}</head>
233
+ <body>
234
+ <header><h1>${r}</h1>${n.subtitle?`<p class="hint">${s(n.subtitle)}</p>`:``}</header>
235
+ <div class="document">${o.map(e=>A(e,c)).join(`
236
+ `)}</div>
237
+ ${a}
238
+ </body></html>
239
+ `}function N(e,t,n){return M({kind:`bpmn`,title:E(e,n),svg:t,docs:T(e)})}async function P(t,n){let{rootElement:r}=await l(t),a=i(r.drgElement??[]);return M({kind:`sections`,title:r.name?.trim()||n,subtitle:e(`app.toolWindow.section.decisions`),sections:a})}function F(t,n){let i=JSON.parse(t);return M({kind:`sections`,title:n,subtitle:e(`app.sections.form`),sections:[r(a(i.components??[],[]))]})}const I=/\.(bpmn(\.xml|20\.xml)?|dmn|form)$/i;async function L(t,n){if(!t)return{ok:!1,lines:[e(`app.cli.share.needsDiagram`)]};let r=/\.dmn$/i.test(t)?`dmn`:/\.form$/i.test(t)?`form`:/\.bpmn(\.xml|20\.xml)?$/i.test(t)?`bpmn`:null;if(!r)return{ok:!1,lines:[e(`app.cli.share.notADiagram`,{file:d(t)})]};let i=m.basename(t).replace(I,``),a;try{let e=g(t,`utf8`);a=r===`bpmn`?N(e,(await f(e)).svg,i):r===`dmn`?await P(e,i):F(e,i)}catch(n){return{ok:!1,lines:[u(d(t),n),e(`app.cli.nothingWritten`)]}}let o=m.resolve(n??m.join(m.dirname(t),`${i}.html`));try{h(m.dirname(o),{recursive:!0}),_(o,a)}catch(t){return{ok:!1,lines:[p(t,o),e(`app.cli.nothingWritten`)]}}return{ok:!0,lines:[e(`app.cli.wrote`,{file:d(o)}),e(`app.cli.share.offline`)]}}export{L as shareCommand};