@kern0x1b/penstock-cli 26.11.0 → 26.11.2

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 (302) hide show
  1. package/THIRD-PARTY-NOTICES.md +16 -16
  2. package/dist/chunk-account-BaYNvO18.js +1 -0
  3. package/dist/{chunk-agentLaunch-D21uPuMr.js → chunk-agentLaunch-BnrpVME4.js} +1 -1
  4. package/dist/chunk-agentServe-BeOh1rjE.js +10 -0
  5. package/dist/chunk-agents-CZJoU2u2.js +1 -0
  6. package/dist/chunk-agentsMigrate-DnrqoXNz.js +2 -0
  7. package/dist/{chunk-analyze-BG-rlggA.js → chunk-analyze-ClE2LBCj.js} +1 -1
  8. package/dist/chunk-analyze-DgQqzEgb.js +1 -0
  9. package/dist/{chunk-analyzeFlow-2cYPgjh-.js → chunk-analyzeFlow-F2ZFmJhv.js} +1 -1
  10. package/dist/chunk-apiTemplates-Cl_z63FA.js +1 -0
  11. package/dist/{chunk-bot-DlhStBoG.js → chunk-bot-C2k8yaXA.js} +5 -5
  12. package/dist/chunk-cmmnFindings-DKpYqUZN.js +1 -0
  13. package/dist/{chunk-codeFactSet-LxSnQy8K.js → chunk-codeFactSet-DiAYqvbb.js} +1 -1
  14. package/dist/{chunk-codeIndex-N1gnP_sW.js → chunk-codeIndex-vStNh6Bm.js} +1 -1
  15. package/dist/chunk-codeLinks-BVpn4_Sr.js +1 -0
  16. package/dist/chunk-codeLinks-BrGduhsm.js +1 -0
  17. package/dist/chunk-command-8s6m3ZUw.js +5 -0
  18. package/dist/chunk-command-aMxPQdiV.js +1 -0
  19. package/dist/chunk-command-vH1_y5F0.js +1 -0
  20. package/dist/chunk-commands-B8YVT41b.js +5 -0
  21. package/dist/{chunk-commands-DcjlDt7B.js → chunk-commands-CJCSznbv.js} +1 -1
  22. package/dist/chunk-compose-BUJTvoFX.js +4 -0
  23. package/dist/chunk-connections-Drr67X9U.js +1 -0
  24. package/dist/chunk-connectors-DcMqy0u8.js +1 -0
  25. package/dist/chunk-convert-Ce1MZmsE.js +3 -0
  26. package/dist/chunk-convert-FkMnlxyi.js +1 -0
  27. package/dist/chunk-deploy-BHg8pB9x.js +1 -0
  28. package/dist/chunk-deploy-DZgCTgaY.js +6 -0
  29. package/dist/{chunk-diagrams-BukAOL0g.js → chunk-diagrams-CtGMGTa8.js} +1 -1
  30. package/dist/chunk-diff-9hjavV6V.js +1 -0
  31. package/dist/chunk-diff-Dp3fUALc.js +1 -0
  32. package/dist/chunk-dispatch-o-eqJb9Y.js +7 -0
  33. package/dist/chunk-dmnTests-BOxutoRs.js +1 -0
  34. package/dist/{chunk-dmnTests-ChwX1YVo.js → chunk-dmnTests-BzNA-u2k.js} +1 -1
  35. package/dist/{chunk-docs-D7yEDpa4.js → chunk-docs-B3C3pZpY.js} +17 -17
  36. package/dist/chunk-doctor-CRxbsAm7.js +1 -0
  37. package/dist/{chunk-editPreview-CC2vwhIW.js → chunk-editPreview-DCUnMkTU.js} +1 -1
  38. package/dist/chunk-evidence-ny_2ltVe.js +23 -0
  39. package/dist/{chunk-examples-0HkF-frb.js → chunk-examples-BG0lGXcZ.js} +9 -9
  40. package/dist/chunk-export-Blwjf23H.js +1 -0
  41. package/dist/chunk-export-kt3sBTZu.js +20 -0
  42. package/dist/{chunk-facts-DSVaURw5.js → chunk-facts-Dl5lLriU.js} +1 -1
  43. package/dist/chunk-failure-BRyRvObj.js +1 -0
  44. package/dist/{chunk-file-BswMa3FN.js → chunk-file-1YhfNmPn.js} +1 -1
  45. package/dist/chunk-import-Dh3az4BC.js +6 -0
  46. package/dist/chunk-importCommand-Dhikkmo0.js +1 -0
  47. package/dist/chunk-incident-LJe2-ohi.js +1 -0
  48. package/dist/chunk-init-D34Q4YA8.js +227 -0
  49. package/dist/chunk-lint-CnEhoYRB.js +1 -0
  50. package/dist/{chunk-lsp-7vA_mIt1.js → chunk-lsp-BzeJkpmf.js} +1 -1
  51. package/dist/chunk-main-BZF-ErAx.js +1 -0
  52. package/dist/chunk-mcp-B_B9bet5.js +95 -0
  53. package/dist/{chunk-mcpLaunch-LyfmIF_Z.js → chunk-mcpLaunch-BS709697.js} +1 -1
  54. package/dist/chunk-migrate-DVfXC-iJ.js +1 -0
  55. package/dist/chunk-migrate-DwWg0k5_.js +16 -0
  56. package/dist/{chunk-migrateApply-CzOkgKhB.js → chunk-migrateApply-e8O9oZXP.js} +3 -3
  57. package/dist/chunk-migrateVerify-oIBf-PM3.js +1 -0
  58. package/dist/{chunk-model-f8AzYUK7.js → chunk-model-BulEKnY1.js} +2 -2
  59. package/dist/{chunk-parse-B-uKGDy-.js → chunk-parse-DiOcpdOU.js} +1 -1
  60. package/dist/{chunk-penstockCli-CKMvaZ0O.js → chunk-penstockCli-C41P_G7i.js} +1 -1
  61. package/dist/chunk-policy-BVb7c7G_.js +1 -0
  62. package/dist/chunk-policyGate-BOgKsqLq.js +2 -0
  63. package/dist/chunk-pr-1jKcTNnP.js +1 -0
  64. package/dist/{chunk-project-DBYOlYRi.js → chunk-project-COaBZhMt.js} +1 -1
  65. package/dist/chunk-project-lO_6DX8G.js +1 -0
  66. package/dist/chunk-promotion-CTMPjXjZ.js +2 -0
  67. package/dist/chunk-promotion-DDLrgBqZ.js +1 -0
  68. package/dist/{chunk-promotion-DchO6xoC.js → chunk-promotion-NeRj4uTP.js} +1 -1
  69. package/dist/chunk-receipt-C4NqnSkH.js +1 -0
  70. package/dist/chunk-receiptDeps-B7MehyHT.js +1 -0
  71. package/dist/chunk-receiptGate-BZCKCMTV.js +1 -0
  72. package/dist/chunk-receiptGate-DRcw327y.js +1 -0
  73. package/dist/{chunk-receiptSnapshot-B6ruXw8z.js → chunk-receiptSnapshot-CHSk3_4N.js} +1 -1
  74. package/dist/{chunk-receiptStore-Cy-L0H1u.js → chunk-receiptStore-DhROtI2h.js} +1 -1
  75. package/dist/chunk-refactor-CO3qyIEv.js +17 -0
  76. package/dist/chunk-refactor-CWeCOl7w.js +1 -0
  77. package/dist/{chunk-render-Ci5d6mg4.js → chunk-render-DZd5hScS.js} +1 -1
  78. package/dist/chunk-report-w7YZwhyg.js +1 -0
  79. package/dist/chunk-review-DYMgFDSy.js +1 -0
  80. package/dist/chunk-say-CP1IyOSv.js +1 -0
  81. package/dist/{chunk-security-VgKwtohm.js → chunk-security-pgip-kdY.js} +2 -2
  82. package/dist/chunk-serve-CKt2rO05.js +10 -0
  83. package/dist/{chunk-share-CBV2FuKq.js → chunk-share-rsL0itIM.js} +18 -18
  84. package/dist/chunk-stages-B2sBBxUc.js +3 -0
  85. package/dist/chunk-systemError-O3vQ8hLb.js +1 -0
  86. package/dist/chunk-systemError-n2E6isvg.js +1 -0
  87. package/dist/chunk-taskTest-DWoME1mY.js +2 -0
  88. package/dist/chunk-taskTest-JErgWO6t.js +1 -0
  89. package/dist/{chunk-templateDiagnostics-BwH7RNkz.js → chunk-templateDiagnostics-6txfKwas.js} +2 -2
  90. package/dist/chunk-templates-Y3xfCO_3.js +1 -0
  91. package/dist/chunk-testCases-BwimUfDC.js +4 -0
  92. package/dist/chunk-testCases-DO2Rkyvd.js +1 -0
  93. package/dist/chunk-tests-Cy325OGw.js +1 -0
  94. package/dist/chunk-tests-DNkORsqB.js +23 -0
  95. package/dist/{chunk-trust-DXcsUJaK.js → chunk-trust-DSX-k3by.js} +1 -1
  96. package/dist/{chunk-trust-DubjEjlN.js → chunk-trust-Di4EYPah.js} +1 -1
  97. package/dist/{chunk-variableChecks-KnECGMR3.js → chunk-variableChecks-CBDpmI4d.js} +1 -1
  98. package/dist/{chunk-workerVariables-CajAcbwl.js → chunk-workerVariables-CNnCRijJ.js} +1 -1
  99. package/dist/{chunk-workerVariables-DIDoUpHF.js → chunk-workerVariables-CulLc3YH.js} +1 -1
  100. package/dist/chunk-wrapper-CGYED7G2.js +1 -0
  101. package/dist/chunk-wrapper-CK7Xtes6.js +3 -0
  102. package/dist/grammars/web-tree-sitter.wasm +0 -0
  103. package/dist/penstock.js +1 -1
  104. package/dist/web/assets/{AgentSettings-Cn5Vcph3.js → AgentSettings-D24jOuht.js} +1 -1
  105. package/dist/web/assets/{AgentsDialog-C6WqzlxZ.js → AgentsDialog-BMWv3Gyk.js} +1 -1
  106. package/dist/web/assets/{AgentsDialog-dpbwVSxk.js → AgentsDialog-DbY2O6O5.js} +1 -1
  107. package/dist/web/assets/{AgentsTab-C34OhVkw.js → AgentsTab-D6LbK6sG.js} +2 -2
  108. package/dist/web/assets/{BpmnCanvas-yur9daZa.js → BpmnCanvas-BcQRQ2Br.js} +27 -27
  109. package/dist/web/assets/BpmnDocument-Ce5F4K1e.js +27 -0
  110. package/dist/web/assets/CmmnDocument-C_UlPowC.js +17 -0
  111. package/dist/web/assets/{ConflictDialog-Bb5kduaR.js → ConflictDialog-DfFp8F7n.js} +1 -1
  112. package/dist/web/assets/{ConnectionsDialog-qtF7yDFw.js → ConnectionsDialog-BaYtHD5h.js} +1 -1
  113. package/dist/web/assets/{DiffDocument-LHOif5Ac.js → DiffDocument-BOPdBEN3.js} +1 -1
  114. package/dist/web/assets/{DmnDocument-0f5uS67x.css → DmnDocument-DZ9u2uk2.css} +1 -1
  115. package/dist/web/assets/DmnDocument-vtnARy7Q.js +41 -0
  116. package/dist/web/assets/{DriftDialog-Chl6BX6k.js → DriftDialog-dIbCbSK2.js} +1 -1
  117. package/dist/web/assets/FormDocument-B0q8DF9v.css +1 -0
  118. package/dist/web/assets/FormDocument-DHBUBUzO.js +32 -0
  119. package/dist/web/assets/FormStepView-CbHb32_8.js +1 -0
  120. package/dist/web/assets/{GraphAwareLayoutService-wsos3yPD.js → GraphAwareLayoutService-C5N8K9dm.js} +1 -1
  121. package/dist/web/assets/{MigrationDialog-CBJU7Oe3.js → MigrationDialog-DA3Vrzgw.js} +1 -1
  122. package/dist/web/assets/{NewFileDialog-B7075LWG.js → NewFileDialog-Dev41oA1.js} +1 -1
  123. package/dist/web/assets/PolicyDialog-qR19Csji.js +1 -0
  124. package/dist/web/assets/{QuickOpen-DJQrI7Od.js → QuickOpen-ps-rMjiS.js} +1 -1
  125. package/dist/web/assets/ScriptPane-BQLMNYzc.js +2 -0
  126. package/dist/web/assets/{ScriptRunDialog-BwE4cXnp.js → ScriptRunDialog-YivjHB6j.js} +1 -1
  127. package/dist/web/assets/{SettingsDialog-c307wPsg.js → SettingsDialog-DI0vZ6Ay.js} +1 -1
  128. package/dist/web/assets/ShortcutsDialog-DLXnv4Vm.js +1 -0
  129. package/dist/web/assets/SourceDocument-Cj8cGsoS.js +1 -0
  130. package/dist/web/assets/TemplateDocument-BRyFsofH.js +7 -0
  131. package/dist/web/assets/TextDocument-DB2hEuMA.js +1 -0
  132. package/dist/web/assets/{UnreadableFileLayer-CUP_30X8.js → UnreadableFileLayer-CRW3MM7w.js} +1 -1
  133. package/dist/web/assets/{UploadDialog-CaVBOxUL.js → UploadDialog-D-X6GG98.js} +1 -1
  134. package/dist/web/assets/Viewer-BcpDlvg_.js +4 -0
  135. package/dist/web/assets/apply-Nsj6ek02.js +1 -0
  136. package/dist/web/assets/{bpmnTheme-CZ7xp4R5.js → bpmnTheme-pKgl9Mrn.js} +2 -2
  137. package/dist/web/assets/{data-ZauKnQ2Z.js → data-CdiToGOq.js} +2 -2
  138. package/dist/web/assets/{data-Da5Nxzev.js → data-wU6sw6RY.js} +1 -1
  139. package/dist/web/assets/{dialog-DSLu1Bbo.js → dialog-BDJ5dDiU.js} +1 -1
  140. package/dist/web/assets/{diff-C4hitkRR.js → diff-BhYqTg4l.js} +1 -1
  141. package/dist/web/assets/dist-27z6Phtg.js +23 -0
  142. package/dist/web/assets/{dist-CofBTWz1.js → dist-B7TL-7R3.js} +4 -4
  143. package/dist/web/assets/dist-BEpeEbIu.js +1 -0
  144. package/dist/web/assets/{dist-CYCbBoYQ.js → dist-BTf7NfeQ.js} +1 -1
  145. package/dist/web/assets/{dist-CJKVV2_S.js → dist-BqGv7f4M.js} +10 -10
  146. package/dist/web/assets/dist-C-q1IWjr.js +6 -0
  147. package/dist/web/assets/{dist-Blylfrak.js → dist-CJx_2eBF.js} +2 -2
  148. package/dist/web/assets/dist-COUY_jv5.js +1 -0
  149. package/dist/web/assets/{dist-DpDu6Wz_.js → dist-CWjAtsKe.js} +1 -1
  150. package/dist/web/assets/{dist-gb3IfUZi.js → dist-Cv8_A_95.js} +2 -2
  151. package/dist/web/assets/dist-DDE6BjgI.js +5 -0
  152. package/dist/web/assets/{dist-7VC_hKpw.js → dist-DDNYYQtV.js} +1 -1
  153. package/dist/web/assets/dist-DW-S9iZN.js +1 -0
  154. package/dist/web/assets/dist-OnU5n5o1.js +1 -0
  155. package/dist/web/assets/dmn-Cgoh6wXm.js +3 -0
  156. package/dist/web/assets/{documentBridge-1Eg7H9yI.js → documentBridge-CHw4XsZH.js} +3 -3
  157. package/dist/web/assets/{documents-LG-7CTrn.js → documents-CEtohzAC.js} +1 -1
  158. package/dist/web/assets/duplicate-D_ic-m62.js +342 -0
  159. package/dist/web/assets/{engines-DhO6OW1S.js → engines-lyEvb0pH.js} +1 -1
  160. package/dist/web/assets/{executable-BTarDLry.js → executable--4381_Lf.js} +1 -1
  161. package/dist/web/assets/{file-CIeVSOHy.js → file-BbVBUuIH.js} +1 -1
  162. package/dist/web/assets/formChecks-CSClH9sH.js +1 -0
  163. package/dist/web/assets/frontend-uXAWaalt.js +1 -0
  164. package/dist/web/assets/{httpHost-DBSjdVth.js → httpHost-C973OTRe.js} +1 -1
  165. package/dist/web/assets/{index.es-pigASDxC.js → index.es-CMvq8Bhe.js} +3 -3
  166. package/dist/web/assets/index.es-GbdJvMnO.js +78 -0
  167. package/dist/web/assets/{index.esm-CTLpq4ik.js → index.esm-Ba6q0zSu.js} +1 -1
  168. package/dist/web/assets/{intelligence-_1C71hkQ.js → intelligence-DNqJNmdB.js} +3 -3
  169. package/dist/web/assets/{jspdf.es.min-PgZzOmkT.js → jspdf.es.min-C0L4zezU.js} +6 -6
  170. package/dist/web/assets/{kind-X3_nabTt.js → kind-DDHnk6dW.js} +1 -1
  171. package/dist/web/assets/{lib-BmLAen_d.js → lib-DrkEMJ65.js} +1 -1
  172. package/dist/web/assets/{list-DovB9lWV.js → list-TmXvCwja.js} +1 -1
  173. package/dist/web/assets/{migrationHost-BcguK4K5.js → migrationHost-DCWBb3L6.js} +1 -1
  174. package/dist/web/assets/moddle-f0Q4Guwd.js +1 -0
  175. package/dist/web/assets/{model--Bj28IOj.js → model-afHgSxJs.js} +1 -1
  176. package/dist/web/assets/{nudges-UF9_cBuO.js → nudges-DPG3WpyV.js} +1 -1
  177. package/dist/web/assets/{open-C9Kt9JLw.js → open-Vkx72dYx.js} +1 -1
  178. package/dist/web/assets/platform-G53Cenyw.js +2 -0
  179. package/dist/web/assets/{preload-helper-VRuDKI9K.js → preload-helper-DExCAR_V.js} +1 -1
  180. package/dist/web/assets/{run-BZgz1U9U.js → run-BMfRBe5O.js} +1 -1
  181. package/dist/web/assets/samples-BL3jA_Vd.js +1 -0
  182. package/dist/web/assets/{say-WvEHqIbO.js → say-BkdZMivA.js} +1 -1
  183. package/dist/web/assets/{say-ChFGKK2E.js → say-C7KqKcFr.js} +1 -1
  184. package/dist/web/assets/{sections-N6WYk7b8.js → sections-LJKSRDTS.js} +1 -1
  185. package/dist/web/assets/sharedReader-BsXfiBT8.js +1 -0
  186. package/dist/web/assets/{source-frame-DcptKpVq.js → source-frame-DC4W0A5-.js} +2 -2
  187. package/dist/web/assets/{syntax-DW10Wzg4.js → syntax-00Hk6Xv7.js} +4 -4
  188. package/dist/web/assets/{template-CMl68jPp.js → template-BQP7ZXdK.js} +1 -1
  189. package/dist/web/assets/testCaseRuns-liAhWMg7.js +1 -0
  190. package/dist/web/assets/{trace-DLziNpe2.js → trace-DXQU2N_l.js} +1 -1
  191. package/dist/web/assets/{translator-DLDFsUlE.js → translator-BLCeE6UY.js} +1 -1
  192. package/dist/web/assets/ui-BLtm3Y1J.js +1 -0
  193. package/dist/web/assets/{useTrace-UYBskc2k.js → useTrace-dZdQ805W.js} +1 -1
  194. package/dist/web/assets/web-C4k0NLZ9.js +982 -0
  195. package/dist/web/assets/web-CnDpD6qy.css +1 -0
  196. package/dist/web/assets/{workerVariables-DURgyUbG.js → workerVariables-O6VqwDzr.js} +1 -1
  197. package/dist/web/assets/xml-DIWt4von.js +1 -0
  198. package/dist/web/index.html +39 -40
  199. package/package.json +5 -5
  200. package/dist/chunk-account-CpZu-RTg.js +0 -1
  201. package/dist/chunk-agentServe-BYRtgGGD.js +0 -10
  202. package/dist/chunk-agents-B9oxdPTA.js +0 -1
  203. package/dist/chunk-agentsMigrate-BV8TeRXq.js +0 -2
  204. package/dist/chunk-analyze-pgzR-Cx-.js +0 -1
  205. package/dist/chunk-apiTemplates-cU7C8vap.js +0 -1
  206. package/dist/chunk-cmmnFindings-S2TGSnEp.js +0 -1
  207. package/dist/chunk-codeLinks-C8N6e8k3.js +0 -1
  208. package/dist/chunk-codeLinks-o0a8tBGk.js +0 -1
  209. package/dist/chunk-command-Bqlbgo-2.js +0 -1
  210. package/dist/chunk-command-DT84ioJb.js +0 -5
  211. package/dist/chunk-command-DrGP2kg8.js +0 -1
  212. package/dist/chunk-commands-B4PoZbpX.js +0 -5
  213. package/dist/chunk-compose-CWKKVtN5.js +0 -4
  214. package/dist/chunk-connections-DQpKbIGD.js +0 -1
  215. package/dist/chunk-connectors-PtAvE91B.js +0 -1
  216. package/dist/chunk-convert-CpgtOlZk.js +0 -1
  217. package/dist/chunk-convert-HbFpg8ab.js +0 -3
  218. package/dist/chunk-deploy-l4MdFfn8.js +0 -6
  219. package/dist/chunk-deploy-qRaaKGZb.js +0 -1
  220. package/dist/chunk-diff-BhTFlCE3.js +0 -1
  221. package/dist/chunk-diff-kBF83vzM.js +0 -1
  222. package/dist/chunk-dispatch-BnO-QhMh.js +0 -7
  223. package/dist/chunk-dmnTests-0x_yUH6S.js +0 -1
  224. package/dist/chunk-doctor-BuHK1dTm.js +0 -1
  225. package/dist/chunk-evidence-oLw_C6j8.js +0 -23
  226. package/dist/chunk-export-cIFHDXug.js +0 -1
  227. package/dist/chunk-export-jBVxtmCH.js +0 -20
  228. package/dist/chunk-failure-D5brrYW2.js +0 -1
  229. package/dist/chunk-import-BBOe-5RZ.js +0 -6
  230. package/dist/chunk-importCommand-DRjYoljA.js +0 -1
  231. package/dist/chunk-incident-BK1h37CD.js +0 -1
  232. package/dist/chunk-init-_OALJuKm.js +0 -227
  233. package/dist/chunk-lint-7KJFxyCN.js +0 -1
  234. package/dist/chunk-main-Cw2JXCil.js +0 -1
  235. package/dist/chunk-mcp-K63bhqnF.js +0 -95
  236. package/dist/chunk-migrate-BMwBV5sc.js +0 -16
  237. package/dist/chunk-migrate-CxfVmKt0.js +0 -1
  238. package/dist/chunk-migrateVerify-DSEXSpfR.js +0 -1
  239. package/dist/chunk-policy-BX0Ftdws.js +0 -1
  240. package/dist/chunk-policyGate-dmcufnwB.js +0 -2
  241. package/dist/chunk-pr-ByrGcfam.js +0 -1
  242. package/dist/chunk-project-DA3KnAZH.js +0 -1
  243. package/dist/chunk-promotion-Boedyq43.js +0 -1
  244. package/dist/chunk-promotion-D8Ti-vxp.js +0 -2
  245. package/dist/chunk-receipt-CusJaqNn.js +0 -1
  246. package/dist/chunk-receiptDeps-oVbX156d.js +0 -1
  247. package/dist/chunk-receiptGate-DrGChj7i.js +0 -1
  248. package/dist/chunk-receiptGate-xldHKMyJ.js +0 -1
  249. package/dist/chunk-refactor-B1W_MGTp.js +0 -1
  250. package/dist/chunk-refactor-BJXxEtVs.js +0 -17
  251. package/dist/chunk-report-D9pM09Nu.js +0 -1
  252. package/dist/chunk-review-UcqS5AAi.js +0 -1
  253. package/dist/chunk-say-CYb4HeJD.js +0 -1
  254. package/dist/chunk-serve-Dmqen1yd.js +0 -10
  255. package/dist/chunk-stages-BTQJrAMF.js +0 -3
  256. package/dist/chunk-systemError-BYrMzp2o.js +0 -1
  257. package/dist/chunk-systemError-CXvnhNPK.js +0 -1
  258. package/dist/chunk-taskTest-9gMsx0zu.js +0 -2
  259. package/dist/chunk-taskTest-BjXYpG5p.js +0 -1
  260. package/dist/chunk-templates-D3ouIwHD.js +0 -1
  261. package/dist/chunk-testCases-9jwT_Y7z.js +0 -4
  262. package/dist/chunk-testCases-BcpBPg9L.js +0 -1
  263. package/dist/chunk-tests-CEEXnWOp.js +0 -23
  264. package/dist/chunk-tests-CRVosdWp.js +0 -1
  265. package/dist/chunk-wrapper-B2WnOIoB.js +0 -3
  266. package/dist/chunk-wrapper-DiKCKZti.js +0 -1
  267. package/dist/web/assets/BpmnDocument-C247Rqim.js +0 -27
  268. package/dist/web/assets/CmmnDocument-Dj48bsUd.js +0 -17
  269. package/dist/web/assets/DmnDocument-Cb9Zi9fS.js +0 -41
  270. package/dist/web/assets/FormDocument-DoZaxWd-.js +0 -32
  271. package/dist/web/assets/FormDocument-URLcKn84.css +0 -1
  272. package/dist/web/assets/FormStepView-D8MFcpeI.js +0 -1
  273. package/dist/web/assets/PolicyDialog-CGdglmDn.js +0 -1
  274. package/dist/web/assets/ScriptPane-T6M5f6fc.js +0 -2
  275. package/dist/web/assets/ShortcutsDialog-BAoL9EHu.js +0 -1
  276. package/dist/web/assets/SourceDocument-C9KIzBA5.js +0 -1
  277. package/dist/web/assets/TemplateDocument-CNt2turg.js +0 -7
  278. package/dist/web/assets/TextDocument-CtkHoEqN.js +0 -1
  279. package/dist/web/assets/Viewer-DZske1C5.js +0 -4
  280. package/dist/web/assets/apply-nnKP9HIM.js +0 -1
  281. package/dist/web/assets/dist--PmHUHDp.js +0 -1
  282. package/dist/web/assets/dist-BoPrKCf2.js +0 -5
  283. package/dist/web/assets/dist-C1m02xAO.js +0 -1
  284. package/dist/web/assets/dist-CLqJMzT-.js +0 -1
  285. package/dist/web/assets/dist-D3jqq0XS.js +0 -1
  286. package/dist/web/assets/dist-DA-9F0U9.js +0 -1
  287. package/dist/web/assets/dist-DojzF5q2.js +0 -6
  288. package/dist/web/assets/dist-yvjzrXXf.js +0 -23
  289. package/dist/web/assets/dmn-DwdcYXGr.js +0 -3
  290. package/dist/web/assets/duplicate-D-ilQqKz.js +0 -342
  291. package/dist/web/assets/formChecks-CGox1z7R.js +0 -1
  292. package/dist/web/assets/frontend-Qq5hBH0U.js +0 -1
  293. package/dist/web/assets/index.es-CcNNw3VB.js +0 -78
  294. package/dist/web/assets/moddle-DJxj0oEU.js +0 -1
  295. package/dist/web/assets/platform-BLPhsye9.js +0 -2
  296. package/dist/web/assets/samples-oeXBsJ9Y.js +0 -1
  297. package/dist/web/assets/sharedReader-Bopy7Uk9.js +0 -1
  298. package/dist/web/assets/testCaseRuns-B_XdqGFh.js +0 -1
  299. package/dist/web/assets/ui-BTKMbWYG.js +0 -1
  300. package/dist/web/assets/web-FzNBw1kZ.css +0 -1
  301. package/dist/web/assets/web-jPMZVwbQ.js +0 -982
  302. package/dist/web/assets/xml-DTgZ-B-l.js +0 -1
@@ -1 +1 @@
1
- import{r as e}from"./chunk-translator-DNm9zRpP.js";import{t}from"./chunk-list-XuNpvC6j.js";import{r as n,t as r}from"./chunk-say-CtmOlXtN.js";const i=/* @__PURE__ */ new Set(/* @__PURE__ */ `and.or.not.true.false.null.if.then.else.for.in.return.some.every.satisfies.instance.of.between.function.execution.task.string.number.date.time.duration.count.sum.min.max.contains.is.defined.now.today.list.context.get.value.length.size.substring.upper.lower.case.matches.replace.split.append.concatenate.flatten.distinct.values.entries.abs.floor.ceiling.round.decimal.odd.even.mean.median.all.any`.split(`.`)),a=e=>e.replace(`bpmn:`,``).replace(/([a-z])([A-Z])/g,`$1 $2`).toLowerCase();function o(t){let n=t.name?.replace(/\s+/g,` `).trim();return n?`"${n}"`:e(`app.rules.flow.theNode`,{node:a(t.$type)})}function s(e){let t=(e?.body??e?.$body??``).trim();if(!t)return null;if(t.startsWith(`=`))return t.slice(1).trim();let n=/^[$#]\{([\s\S]*)\}$/.exec(t);return n?n[1].trim():t}function c(e,t){let n=[],r=0,i=null,a=0;for(let o=0;o<e.length;o+=1){let s=e[o];if(i)s===i&&(i=null);else if(s===`"`||s===`'`)i=s;else if(s===`(`)r+=1;else if(s===`)`)--r;else if(r===0){let r=e.slice(o),i=t.exec(r);i&&i.index===0&&(n.push(e.slice(a,o)),o+=i[0].length-1,a=o+1)}}return n.push(e.slice(a)),n.map(e=>e.trim()).filter(Boolean)}function l(e){let t=e.trim();for(;t.startsWith(`(`)&&t.endsWith(`)`);){let e=0,n=-1;for(let r=0;r<t.length;r+=1)if(t[r]===`(`&&(e+=1),t[r]===`)`&&--e,e===0){n=r;break}if(n!==t.length-1)break;t=t.slice(1,-1).trim()}return t}const u=e=>e&&e[0].toUpperCase()+e.slice(1),d={lo:null,hi:null};function f(e,t){let n=e.lo?t.lo?e.lo.value>t.lo.value||e.lo.value===t.lo.value&&e.lo.open?e.lo:t.lo:e.lo:t.lo,r=e.hi?t.hi?e.hi.value<t.hi.value||e.hi.value===t.hi.value&&e.hi.open?e.hi:t.hi:e.hi:t.hi;return n&&r&&(n.value>r.value||n.value===r.value&&(n.open||r.open))?null:{lo:n,hi:r}}function p(e){let t=[...e].sort((e,t)=>!e.lo||!t.lo?e.lo?1:t.lo?-1:0:e.lo.value-t.lo.value||Number(e.lo.open)-Number(t.lo.open)),n=[],r=null,i=!1;for(let e of t){if(!i){if(e.lo&&n.push({lo:null,hi:{value:e.lo.value,open:!e.lo.open}}),i=!0,!e.hi)return n;r=e.hi;continue}let t=r,a=e.lo;if((a.value>t.value||a.value===t.value&&t.open&&a.open)&&n.push({lo:{value:t.value,open:!t.open},hi:{value:a.value,open:!a.open}}),!e.hi)return n;(e.hi.value>t.value||e.hi.value===t.value&&t.open&&!e.hi.open)&&(r=e.hi)}if(!i)return[d];let a=r;return n.push({lo:{value:a.value,open:!a.open},hi:null}),n}function m(e){let t=/^([A-Za-z_][\w.]*)\s*(<=|>=|!=|==|=|<|>)\s*(-?\d+(?:\.\d+)?|"[^"]*"|'[^']*'|true|false)$/.exec(e)??/^(-?\d+(?:\.\d+)?|"[^"]*"|'[^']*')\s*(<=|>=|!=|==|=|<|>)\s*([A-Za-z_][\w.]*)$/.exec(e);if(!t)return null;let n=/^-?\d|^["']/.test(t[1]),r=n?t[3]:t[1],i=n?t[1]:t[3],a=n?{"<":`>`,">":`<`,"<=":`>=`,">=":`<=`}[t[2]]??t[2]:t[2];if(i===`true`||i===`false`){let e=i===`true`;return a===`=`||a===`==`?{kind:`boolean`,variable:r,values:/* @__PURE__ */ new Set([e])}:a===`!=`?{kind:`boolean`,variable:r,values:/* @__PURE__ */ new Set([!e])}:null}if(/^["']/.test(i)){let e=i.slice(1,-1);return a===`=`||a===`==`?{kind:`string`,variable:r,values:/* @__PURE__ */ new Set([e]),others:!1}:a===`!=`?{kind:`string`,variable:r,values:/* @__PURE__ */ new Set([e]),others:!0}:null}let o=Number(i);return{kind:`number`,variable:r,intervals:{"<":[{lo:null,hi:{value:o,open:!0}}],"<=":[{lo:null,hi:{value:o,open:!1}}],">":[{lo:{value:o,open:!0},hi:null}],">=":[{lo:{value:o,open:!1},hi:null}],"=":[{lo:{value:o,open:!1},hi:{value:o,open:!1}}],"==":[{lo:{value:o,open:!1},hi:{value:o,open:!1}}],"!=":[{lo:null,hi:{value:o,open:!0}},{lo:{value:o,open:!0},hi:null}]}[a]}}function h(e){let t=l(e),n=c(t,/^(\s+or\s+|\s*\|\|\s*)/);if(n.length>1){let e=n.map(h);return e.some(e=>!e)||new Set(e.map(e=>`${e?.kind}:${e?.variable}`)).size!==1?null:e.reduce((e,t)=>g(e,t))}let r=c(t,/^(\s+and\s+|\s*&&\s*)/);if(r.length>1){let e=r.map(h);return e.some(e=>!e)||new Set(e.map(e=>`${e?.kind}:${e?.variable}`)).size!==1?null:e.reduce((e,t)=>_(e,t))}let a=/^(?:not\s*\(([\s\S]*)\)|!\s*([A-Za-z_][\w.]*))$/.exec(t);if(a){let e=h(a[1]??a[2]);return e?v(e):null}return/^[A-Za-z_][\w.]*$/.test(t)&&!i.has(t)?{kind:`boolean`,variable:t,values:/* @__PURE__ */ new Set([!0])}:m(t)}function g(e,t){if(e.kind===`number`&&t.kind===`number`)return{...e,intervals:[...e.intervals,...t.intervals]};if(e.kind===`boolean`&&t.kind===`boolean`)return{...e,values:/* @__PURE__ */ new Set([...e.values,...t.values])};let n=e,r=t;if(n.others&&r.others)return{...n,values:new Set([...n.values].filter(e=>r.values.has(e))),others:!0};if(n.others||r.others){let[e,t]=n.others?[n,r]:[r,n];return{...e,values:new Set([...e.values].filter(e=>!t.values.has(e))),others:!0}}return{...n,values:/* @__PURE__ */ new Set([...n.values,...r.values]),others:!1}}function _(e,t){if(e.kind===`number`&&t.kind===`number`){let n=e.intervals.flatMap(e=>t.intervals.map(t=>f(e,t)).filter(e=>!!e));return{...e,intervals:n}}return e.kind===`boolean`&&t.kind===`boolean`?{...e,values:new Set([...e.values].filter(e=>t.values.has(e)))}:v(g(v(e),v(t)))}function v(e){return e.kind===`number`?{...e,intervals:p(e.intervals)}:e.kind===`boolean`?{...e,values:new Set([!0,!1].filter(t=>!e.values.has(t)))}:{...e,others:!e.others}}function y(e){return String(e.value)}function b(t,n){let{lo:r,hi:i}=n;return r&&i&&r.value===i.value?e(`app.rules.flow.isValue`,{variable:t,bound:y(r)}):!r&&i?e(`app.rules.flow.isBound`,{variable:t,side:i.open?e(`app.rules.flow.below`):e(`app.rules.flow.atMost`),bound:y(i)}):r&&!i?e(`app.rules.flow.isBound`,{variable:t,side:r.open?e(`app.rules.flow.above`):e(`app.rules.flow.atLeast`),bound:y(r)}):r&&i?e(`app.rules.flow.isBetween`,{variable:t,lo:y(r),hi:y(i),exclusive:r.open||i.open?e(`app.rules.flow.exclusive`):``}):e(`app.rules.flow.hasAnyValue`,{variable:t})}function x(t){let n=t[0];if(n.kind===`number`)return p(t.flatMap(e=>e.intervals)).map(e=>b(n.variable,e));if(n.kind===`boolean`){let r=new Set(t.flatMap(e=>[...e.values]));return[!0,!1].filter(e=>!r.has(e)).map(t=>e(`app.rules.flow.isValue`,{variable:n.variable,bound:t}))}let r=t.reduce((e,t)=>g(e,t));return r.kind===`string`?r.others?[...r.values].map(t=>e(`app.rules.flow.isValue`,{variable:n.variable,bound:`"${t}"`})):[e(`app.rules.flow.isAnythingBut`,{variable:n.variable,values:[...r.values].map(e=>`"${e}"`).join(e(`app.rules.flow.comma`))})]:[]}function S(t,n){let r=_(t,n);return r.kind===`number`?r.intervals[0]?b(t.variable,r.intervals[0]):null:r.kind===`boolean`?r.values.size>0?e(`app.rules.flow.isValue`,{variable:t.variable,bound:[...r.values][0]}):null:r.others?e(`app.rules.flow.isSomeOtherValue`,{variable:t.variable}):r.values.size>0?e(`app.rules.flow.isValue`,{variable:t.variable,bound:`"${[...r.values][0]}"`}):null}function*C(e){let t=/* @__PURE__ */ new Set,n=[];for(let t of e.rootElements??[])t.$type===`bpmn:Process`&&n.push(t),t.$type===`bpmn:Collaboration`&&t.participants?.forEach(e=>e.processRef&&n.push(e.processRef));for(;n.length>0;){let e=n.pop();if(!t.has(e)){t.add(e);for(let t of e.flowElements??[])yield t,t.flowElements&&n.push(t)}}}function w(t,r){if(r.length<2||t.default)return[];let i=r.map(e=>({flow:e,body:s(e.conditionExpression)}));if(i.some(e=>e.body===null))return[];let a=t.$type===`bpmn:ExclusiveGateway`,c=i.map(e=>h(e.body)),l=c.every(e=>e&&e.kind===c[0]?.kind&&e.variable===c[0]?.variable),d=t.id??``;if(!l)return[{kind:`NO-DEFAULT`,title:n(`flow`,`NO-DEFAULT`),detail:e(`app.rules.flow.noDefaultFlow`,{gateway:u(o(t))}),elements:[d],trace:[]}];let f=c,p=[],m=x(f);if(m.length>0&&p.push({kind:`NO-WAY-OUT`,title:n(`flow`,`NO-WAY-OUT`),detail:e(`app.rules.flow.noWayOut`,{gateway:u(o(t)),gaps:m.join(e(`app.rules.flow.orWhen`))}),elements:[d],trace:[]}),a)for(let i=0;i<f.length;i+=1)for(let a=i+1;a<f.length;a+=1){let s=S(f[i],f[a]);if(!s)continue;let c=t=>t.name?.trim()?`"${t.name.trim()}"`:e(`app.rules.flow.theFlowTo`,{target:t.targetRef?o(t.targetRef):e(`app.rules.flow.theNextStep`)});p.push({kind:`OVERLAP`,title:n(`flow`,`OVERLAP`),detail:e(`app.rules.flow.bothConditionsHold`,{shared:s,first:c(r[i]),second:c(r[a]),gateway:o(t)}),elements:[d,r[i].id??``,r[a].id??``],trace:[]})}return p}function T(e){return[...e.replace(/"[^"]*"|'[^']*'/g,` `).matchAll(/[A-Za-z_][\w]*/g)].map(e=>e[0]).filter(e=>!i.has(e))}function E(e){let t=[],n=s(e.conditionExpression);n&&t.push(...T(n));let r=e.$attrs??{},i=e.resultVariable??r[`camunda:resultVariable`];typeof i==`string`&&t.push(i);let a=e=>{if(!e)return;let n=e.$type??``;if(/zeebe:(input|output)$/.test(n)&&(typeof e.target==`string`&&t.push(e.target),typeof e.source==`string`&&e.source.trim().startsWith(`=`)&&t.push(...T(e.source.trim().slice(1)))),/camunda:(inputParameter|outputParameter)$/.test(n)){typeof e.name==`string`&&t.push(e.name);let n=e.$body??e.value;if(typeof n==`string`)for(let e of n.matchAll(/[$#]\{([^}]*)\}/g))t.push(...T(e[1]))}for(let t of[`$children`,`values`,`inputParameters`,`outputParameters`,`inputParameter`,`outputParameter`]){let n=e[t];Array.isArray(n)&&n.forEach(e=>a(e))}};return(e.extensionElements?.values??[]).forEach(a),t.map(t=>({name:t.split(`.`)[0],element:e.id??``}))}function D(e,t){if(e===t||Math.abs(e.length-t.length)>1)return!1;let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n+=1;let r=(e,t)=>e.slice(t);return e.length===t.length?r(e,n+1)===r(t,n+1)||e[n]===t[n+1]&&e[n+1]===t[n]&&r(e,n+2)===r(t,n+2):e.length>t.length?r(e,n+1)===r(t,n):r(e,n)===r(t,n+1)}function O(t){let r=/* @__PURE__ */ new Map;t.forEach(e=>r.set(e.name,/* @__PURE__ */ new Set([...r.get(e.name)??[],e.element])));let i=[...r.keys()].sort(),a=[];for(let t=0;t<i.length;t+=1)for(let o=t+1;o<i.length;o+=1){let[s,c]=[i[t],i[o]];if(/\d$/.test(s)&&/\d$/.test(c))continue;let l=s.toLowerCase()===c.toLowerCase(),u=Math.min(s.length,c.length)>=5&&D(s,c);(l||u)&&a.push({kind:`LOOKALIKE`,title:n(`flow`,`LOOKALIKE`),detail:e(`app.rules.flow.lookalikeNames`,{first:s,second:c,difference:e(l?`app.rules.flow.letterCaseOnly`:`app.rules.flow.oneCharacter`)}),elements:[.../* @__PURE__ */ new Set([...r.get(s)??[],...r.get(c)??[]])].filter(Boolean),trace:[]})}return a}function k(e){let t=e,n=[],r=[],i=[...C(t)],a=/* @__PURE__ */ new Map;for(let e of i)e.$type===`bpmn:SequenceFlow`&&e.sourceRef&&a.set(e.sourceRef,[...a.get(e.sourceRef)??[],e]);for(let e of i)(e.$type===`bpmn:ExclusiveGateway`||e.$type===`bpmn:InclusiveGateway`)&&n.push(...w(e,a.get(e)??[])),r.push(...E(e));return n.push(...O(r)),n}function A(e){let t=e.trim();if(t.startsWith(`=`))return t.slice(1).trim();let n=/^[$#]\{([\s\S]*)\}$/.exec(t);return n?n[1].trim():t}function j(e,t){let n=!e.lo||(e.lo.open?t>e.lo.value:t>=e.lo.value),r=!e.hi||(e.hi.open?t<e.hi.value:t<=e.hi.value);return n&&r}function M(e){if(e.kind===`boolean`)return[...e.values][0];if(e.kind===`string`){if(!e.others)return[...e.values][0];let t=`other`;for(let n=2;e.values.has(t);n+=1)t=`other${n}`;return t}for(let t of e.intervals){let e=[t.lo?t.lo.open?Math.floor(t.lo.value)+1:t.lo.value:null,t.hi?t.hi.open?Math.ceil(t.hi.value)-1:t.hi.value:null,t.lo&&t.hi?(t.lo.value+t.hi.value)/2:null,0].find(e=>e!==null&&j(t,e));if(e!==void 0)return e}}function N(e){return e.kind===`number`?e.intervals.length===0:(e.kind===`boolean`||!e.others)&&e.values.size===0}function P(e){let t=/* @__PURE__ */ new Map,n=[],r=[],i=(e,r,i,a=n)=>{let o=t.get(e.variable);if(o&&o.kind!==e.kind){i&&a.push(r);return}let s=o?_(o,e):e;N(s)?i&&a.push(r):t.set(e.variable,s)};for(let t of e)for(let e of t.takes){let t=h(A(e));t?i(t,e,!0):n.push(e)}for(let t of e)for(let e of t.avoids){let n=h(A(e));n?i(v(n),e,t.takes.length===0,r):t.takes.length===0&&r.push(e)}let a={};for(let[e,r]of t){let t=M(r);t===void 0?n.push(e):a[e]=t}return{values:a,unresolved:n,avoided:r}}const F=2e4,I=e=>n(`flow`,e),L=e=>e&&e[0].toUpperCase()+e.slice(1);function R(e){switch(e.$type){case`bpmn:StartEvent`:return`start`;case`bpmn:EndEvent`:return`end`;case`bpmn:ExclusiveGateway`:case`bpmn:EventBasedGateway`:case`bpmn:ComplexGateway`:return`xor`;case`bpmn:ParallelGateway`:return`and`;case`bpmn:InclusiveGateway`:return`or`;case`bpmn:BoundaryEvent`:return`boundary`;default:return`activity`}}const z=/* @__PURE__ */ new Set([`bpmn:SequenceFlow`,`bpmn:DataObject`,`bpmn:DataObjectReference`,`bpmn:DataStoreReference`]);function B(e){let t=[],n=[],i=/* @__PURE__ */ new Set,a=e=>{e&&!i.has(e)&&(i.add(e),n.push(e))};for(let t of e.rootElements??[])t.$type===`bpmn:Process`&&a(t),t.$type===`bpmn:Collaboration`&&t.participants?.forEach(e=>a(e.processRef));for(let e=0;e<n.length;e+=1){let i=n[e],o=i.flowElements??[],s=/* @__PURE__ */ new Map;for(let e of o){if(z.has(e.$type)||!e.id||(e.$type===`bpmn:SubProcess`||e.$type===`bpmn:Transaction`||e.$type===`bpmn:AdHocSubProcess`)&&(a(e),e.triggeredByEvent))continue;let t=R(e);s.set(e,{id:e.id,named:!!e.name?.trim(),name:e.name?.replace(/\s+/g,` `).trim()||r(e.$type),kind:t,incoming:[],outgoing:[],defaultFlow:null,terminate:(e.eventDefinitions??[]).some(e=>e.$type===`bpmn:TerminateEventDefinition`),boundaries:[],interrupting:e.cancelActivity!==!1,outgoingNodes:[],host:null,plain:(e.eventDefinitions??[]).length===0})}let c=[];for(let e of o){if(e.$type!==`bpmn:SequenceFlow`)continue;let t=e.sourceRef&&s.get(e.sourceRef),n=e.targetRef&&s.get(e.targetRef);if(!t||!n||!e.id)continue;let r=c.length;c.push({id:e.id,name:e.name?.replace(/\s+/g,` `).trim()??``,source:t,target:n,conditional:!!e.conditionExpression,condition:e.conditionExpression?.body?.trim()??``}),t.outgoing.push(r),t.outgoingNodes.push(n),n.incoming.push(r)}for(let[e,t]of s){e.default&&(t.defaultFlow=c.findIndex(t=>t.id===e.default?.id)),t.defaultFlow===-1&&(t.defaultFlow=null);let n=t.kind===`boundary`&&e.attachedToRef?s.get(e.attachedToRef):void 0;n&&(n.boundaries.push(t),t.host=n)}s.size>0&&t.push({id:i.id??`scope-${e}`,nodes:[...s.values()],flows:c})}return t}function V(e){if(e.length===0)return[];if(e.length>4)return[...e.map(e=>[e]),e];let t=[];for(let n=1;n<1<<e.length;n+=1)t.push(e.filter((e,t)=>n&1<<t));return t}function H(e,t){let n=e.outgoing;if(n.length===0)return[[]];if(e.kind===`xor`)return n.map(e=>[e]);if(e.kind===`and`)return[n];let r=n.filter(n=>n!==e.defaultFlow&&(e.kind===`or`||t[n].conditional)),i=e.kind===`or`?[]:n.filter(t=>!r.includes(t)&&t!==e.defaultFlow),a=V(r).map(e=>[...i,...e]);return e.defaultFlow!==null&&a.push([...i,e.defaultFlow]),r.length===0&&e.defaultFlow===null?[i]:a.length>0?a:[i]}function U(e){let t=e.flows.length,n=e.flows.map(()=>Array(t).fill(!1));return e.flows.forEach((t,r)=>{let i=[...t.target.outgoing];for(;i.length>0;){let t=i.pop();n[r][t]||(n[r][t]=!0,i.push(...e.flows[t].target.outgoing))}}),n}function W(t){if(t.named)return`"${t.name}"`;let n=t.outgoingNodes.find(e=>e.named);return n?e(`app.rules.flow.nodeBefore`,{node:t.name,next:n.name}):e(`app.rules.flow.theNode`,{node:t.name})}function G(t){return t.source.named?`"${t.source.name}"`:e(`app.rules.flow.theBranchThrough`,{node:t.source.name})}function K(e){let t=/* @__PURE__ */ new Set,n=[...e];for(;n.length>0;){let e=n.pop();if(!t.has(e.id)){t.add(e.id);for(let t of e.boundaries)n.push(t);n.push(...e.outgoingNodes)}}return t}function q(t,n){let r=U(t),i=new Set(n.fired),a=[],o=e=>e.join(`,`),s=/* @__PURE__ */ new Map([[o(n.tokens),0]]),c=[n.tokens],l=[{from:-1,fired:n.fired}],u=[],d=[],f=!1,p=/* @__PURE__ */ new Set,m=/* @__PURE__ */ new Set,h=/* @__PURE__ */ new Set,g=e=>m.has(e.id)||h.has(e.id)?!0:(m.add(e.id),h=K([...m].map(e=>t.nodes.find(t=>t.id===e))),!1),_=e=>{let t=[];for(let n=e;n>=0;n=l[n].from)t.unshift(...l[n].fired);return t};for(let n=0;n<c.length;n+=1){let m=c[n],h=[],v=[],y=(r,u,d,y=!1,b=null)=>{let x=y?m.map(()=>0):[...m];y||(r.forEach(e=>--x[e]),u.forEach(e=>x[e]+=1)),d.forEach(e=>i.add(e));let S=x.findIndex(e=>e>1);if(S>=0){let r=t.flows[S].target;if(g(r))return;a.push({kind:`NO-SYNCHRONIZATION`,title:I(`NO-SYNCHRONIZATION`),detail:e(`app.rules.flow.twoTokensAtOnce`,{node:W(r)}),elements:[r.id],trace:[..._(n),...d,r.id]});return}let C=o(x),w=s.get(C);if(w===void 0){if(c.length>=F){f=!0,p.add(n);return}w=c.length,s.set(C,w),c.push(x),l.push({from:n,fired:d})}h.push(w),v.push({to:w,fired:d,choice:b,produced:y?[]:u.map(e=>t.flows[e].id)})};for(let i of t.nodes){if(i.kind===`boundary`||i.kind===`start`)continue;let o=i.incoming.filter(e=>m[e]>0);if(o.length!==0){if(i.kind===`and`)o.length===i.incoming.length&&y(i.incoming,i.outgoing,[i.id]);else if((i.kind===`activity`||i.kind===`xor`)&&o.length>1&&!g(i)&&a.push({kind:`NO-SYNCHRONIZATION`,title:I(`NO-SYNCHRONIZATION`),detail:e(`app.rules.flow.twoBranchesAtOnce`,{node:W(i)}),elements:[i.id],trace:_(n)}),i.kind===`or`){if(i.incoming.filter(e=>m[e]===0).some(e=>m.some((t,n)=>t>0&&!i.incoming.includes(n)&&r[n][e])))continue;let e=H(i,t.flows);for(let t of e)y(o,t,[i.id],!1,e.length>1?{node:i.id,ways:t,boundary:null}:null)}else for(let e of o){if(i.kind===`end`){y([e],[],[i.id],i.terminate);continue}let n=H(i,t.flows);for(let t of n){y([e],t,[i.id],!1,n.length>1?{node:i.id,ways:t,boundary:null}:null);for(let n of i.boundaries){let r=n.interrupting?n.outgoing:[...t,...n.outgoing];y([e],r,[i.id,n.id],!1,{node:i.id,ways:t,boundary:n.id})}}}}}u.push(h),d.push(v)}let v=c.map(()=>[]);u.forEach((e,t)=>e.forEach(e=>v[e].push(t)));let y=e=>{let t=Array(c.length).fill(!1),n=[...e];for(n.forEach(e=>t[e]=!0);n.length>0;){let e=n.pop();for(let r of v[e])t[r]||(t[r]=!0,n.push(r))}return t},b=e=>u[e]!==void 0,x=e=>c[e].some(e=>e>0),S=c.map((e,t)=>t).filter(e=>!x(e)),C=c.map((e,t)=>t).filter(e=>x(e)&&b(e)&&u[e].length===0&&!p.has(e)),w=y([...S,...p]),T=y(C),E=e=>[...new Set(e.flatMap((e,n)=>e>0?[t.flows[n].target]:[]))],D=C.find(e=>!w[e]);if(D!==void 0){let n=c[D],r=E(n),i=_(D),o=new Map(t.nodes.map(e=>[e.id,e])),s=[...i].reverse().map(e=>o.get(e)).find(e=>e&&(e.kind===`xor`||e.kind===`or`||e.kind===`boundary`)),l=s?s.kind===`boundary`?e(`app.rules.flow.leftThroughBoundary`,{host:s.host?W(s.host):e(`app.rules.flow.anActivity`),event:s.named?` ${W(s)}`:``}):e(`app.rules.flow.sentDownAnotherBranch`,{turn:L(W(s))}):``,u=r.map(r=>{let i=r.incoming.filter(e=>n[e]===0).map(e=>G(t.flows[e])),a=W(r);return i.length>0?e(`app.rules.flow.waitsFor`,{who:L(a),missing:i.join(e(`app.rules.flow.and`)),arrives:i.length===1?e(`app.rules.flow.arrives`):e(`app.rules.flow.arrive`)}):e(`app.rules.flow.waitsAndCannotContinue`,{who:L(a)})}).join(` `)+l;a.push({kind:`DEADLOCK`,title:I(`DEADLOCK`),detail:u,elements:r.map(e=>e.id),trace:i})}let O=c.findIndex((e,t)=>x(t)&&b(t)&&!w[t]&&!T[t]);if(O>=0&&!f){let t=E(c[O]);a.push({kind:`NEVER-FINISHES`,title:I(`NEVER-FINISHES`),detail:e(`app.rules.flow.noPathToAnEnd`,{nodes:t.map(W).join(e(`app.rules.flow.and`))}),elements:t.map(e=>e.id),trace:_(O)})}f&&a.push({kind:`TOO-COMPLEX`,title:I(`TOO-COMPLEX`),detail:e(`app.rules.flow.tooManyStates`,{states:F}),elements:[],trace:[]});let k=a.filter(e=>e.kind===`DEADLOCK`).flatMap(e=>e.elements),A=K(t.nodes.filter(e=>k.includes(e.id)));return h.forEach(e=>A.add(e)),{problems:a,fired:i,states:c.length,consequences:A,graph:{tokens:c,edges:d}}}function J(e){let t=e.nodes.filter(e=>e.kind===`start`),n=e.nodes.filter(e=>e.kind===`activity`&&e.incoming.length===0);return t.length>0?t.map(t=>{let n=e.flows.map(()=>0);return t.outgoing.forEach(e=>n[e]+=1),{fired:[t.id],tokens:n,flows:t.outgoing.map(t=>e.flows[t].id)}}):[{fired:n.map(e=>e.id),tokens:e.flows.map((e,t)=>+!!n.some(e=>e.outgoing.includes(t))),flows:e.flows.filter((e,t)=>n.some(e=>e.outgoing.includes(t))).map(e=>e.id)}]}function Y(t){let n=J(t),r=/* @__PURE__ */ new Set,i=/* @__PURE__ */ new Set,a=[],o=0;for(let e of n){let n=q(t,e);n.fired.forEach(e=>r.add(e)),n.consequences.forEach(e=>i.add(e)),a.push(...n.problems),o+=n.states}for(let n of t.nodes){if(r.has(n.id)||n.kind===`start`||i.has(n.id))continue;let t=n.incoming.length===0&&n.kind!==`boundary`?e(`app.rules.flow.nothingLeadsToIt`):e(`app.rules.flow.noPathReachesIt`);a.push({kind:`DEAD-ELEMENT`,title:I(`DEAD-ELEMENT`),detail:e(`app.rules.flow.neverRuns`,{node:L(W(n)),cause:t}),elements:[n.id],trace:[]})}return{problems:a,fired:r,states:o,consequences:i}}function X(e){let t=B(e),n=[...k(e)],r=0;for(let e of t){let t=Y(e);r+=t.states;for(let e of t.problems)n.some(t=>t.kind===e.kind&&t.elements.join()===e.elements.join())||n.push(e)}return{problems:n,scopes:t.length,states:r}}function Z(e,n,r){let i=e=>n.get(e)?.name??e;return{decision:i(r.node),way:t(r.ways.map(t=>e.flows[t].name||`to "${e.flows[t].target.name}"`)),condition:t(r.ways.map(t=>e.flows[t].condition).filter(Boolean)),boundary:r.boundary?i(r.boundary):null,decisionId:r.node,flowIds:r.ways.map(t=>e.flows[t].id),takes:r.ways.map(t=>e.flows[t].condition).filter(Boolean),avoids:(n.get(r.node)?.outgoing??[]).filter(e=>!r.ways.includes(e)).map(t=>e.flows[t].condition).filter(Boolean),boundaryId:r.boundary}}function Q(e,t,n,r,i,a){let o=e=>t.get(e)?.name??e,s=r.filter((e,t)=>r.indexOf(e)===t);return{process:e.id,start:o(n.fired[0]),decisions:a.map(n=>Z(e,t,n)),steps:s.filter(e=>t.get(e)?.kind===`activity`||t.get(e)?.kind===`boundary`).map(o),ends:s.filter(e=>t.get(e)?.kind===`end`).map(o),startId:n.fired[0],stepIds:s.filter(e=>t.get(e)?.kind===`activity`||t.get(e)?.kind===`boundary`),endIds:s.filter(e=>t.get(e)?.kind===`end`),firedIds:r,flowIds:i}}function ee(e,t,n,r,i){let a=[],o=/* @__PURE__ */ new Set,s=/* @__PURE__ */ new Set,c=2e5,l=!1,u=(d,f,p,m,h)=>{if(a.length>=i||c--<=0){l=!0;return}let g=h.map(e=>`${e.node}:${e.ways.join(`+`)}:${e.boundary??``}`).join(`|`),_=`${d}#${g}`;if(!o.has(_)){if(o.add(_),r.tokens[d].every(e=>e===0)){if(s.has(g))return;s.add(g),a.push(Q(e,t,n,p,m,h))}else for(let e of r.edges[d]??[])f.has(e.to)||(f.add(e.to),u(e.to,f,[...p,...e.fired],[...m,...e.produced],e.choice?[...h,e.choice]:h),f.delete(e.to))}};return u(0,/* @__PURE__ */ new Set([0]),[...n.fired],[...n.flows],[]),{list:a,capped:l}}function te(e,t,n,r){let{tokens:i,edges:a}=r,o=e=>i[e].every(e=>e===0),s=i.map(()=>[]);a.forEach((e,t)=>e.forEach(e=>s[e.to].push({from:t,edge:e})));let c=i.map(()=>null),l=i.map((e,t)=>o(t)),u=l.flatMap((e,t)=>e?[t]:[]);for(let e=0;e<u.length;e+=1)for(let{from:t,edge:n}of s[u[e]])l[t]||(l[t]=!0,c[t]=n,u.push(t));let d=i.map(()=>null),f=[0],p=/* @__PURE__ */ new Set([0]);for(let e=0;e<f.length;e+=1)for(let t of a[f[e]]??[])p.has(t.to)||(p.add(t.to),d[t.to]={from:f[e],edge:t},f.push(t.to));let m=/* @__PURE__ */ new Set([...n.fired,...n.flows]),h=/* @__PURE__ */ new Set,g=[];for(let r of f)for(let i of a[r]??[]){if(!l[i.to]||[...i.fired,...i.produced].every(e=>m.has(e)))continue;let a=[];for(let e=r;d[e];e=d[e].from)a.unshift(d[e].edge);a.push(i);for(let e=i.to;!o(e)&&c[e];e=c[e].to)a.push(c[e]);let s=a.filter(e=>e.choice).map(e=>`${e.choice?.node}:${e.choice?.ways.join(`+`)}:${e.choice?.boundary??``}`).join(`|`);a.forEach(e=>[...e.fired,...e.produced].forEach(e=>m.add(e))),!h.has(s)&&(h.add(s),g.push(Q(e,t,n,[...n.fired,...a.flatMap(e=>e.fired)],[...n.flows,...a.flatMap(e=>e.produced)],a.flatMap(e=>e.choice?[e.choice]:[]))))}return g}function $(e,t=64){let n=[],r=!1;for(let i of B(e)){let e=new Map(i.nodes.map(e=>[e.id,e]));for(let a of J(i)){let{graph:o}=q(i,a),s=ee(i,e,a,o,t);s.capped?(r=!0,n.push(...te(i,e,a,o))):n.push(...s.list)}}return{scenarios:n,capped:r}}function ne(e,t=64){return $(e,t).scenarios}export{P as i,$ as n,ne as r,X as t};
1
+ import{r as e}from"./chunk-translator-DNm9zRpP.js";import{t}from"./chunk-list-XuNpvC6j.js";import{r as n,t as r}from"./chunk-say-CtmOlXtN.js";const i=/* @__PURE__ */ new Set(/* @__PURE__ */ `and.or.not.true.false.null.if.then.else.for.in.return.some.every.satisfies.instance.of.between.function.execution.task.string.number.date.time.duration.count.sum.min.max.contains.is.defined.now.today.list.context.get.value.length.size.substring.upper.lower.case.matches.replace.split.append.concatenate.flatten.distinct.values.entries.abs.floor.ceiling.round.decimal.odd.even.mean.median.all.any`.split(`.`)),a=e=>e.replace(`bpmn:`,``).replace(/([a-z])([A-Z])/g,`$1 $2`).toLowerCase();function o(t){let n=t.name?.replace(/\s+/g,` `).trim();return n?`"${n}"`:e(`app.rules.flow.theNode`,{node:a(t.$type)})}function s(e){let t=(e?.body??e?.$body??``).trim();if(!t)return null;if(t.startsWith(`=`))return t.slice(1).trim();let n=/^[$#]\{([\s\S]*)\}$/.exec(t);return n?n[1].trim():t}function c(e,t){let n=[],r=0,i=null,a=0;for(let o=0;o<e.length;o+=1){let s=e[o];if(i)s===i&&(i=null);else if(s===`"`||s===`'`)i=s;else if(s===`(`)r+=1;else if(s===`)`)--r;else if(r===0){let r=e.slice(o),i=t.exec(r);i&&i.index===0&&(n.push(e.slice(a,o)),o+=i[0].length-1,a=o+1)}}return n.push(e.slice(a)),n.map(e=>e.trim()).filter(Boolean)}function l(e){let t=e.trim();for(;t.startsWith(`(`)&&t.endsWith(`)`);){let e=0,n=-1;for(let r=0;r<t.length;r+=1)if(t[r]===`(`&&(e+=1),t[r]===`)`&&--e,e===0){n=r;break}if(n!==t.length-1)break;t=t.slice(1,-1).trim()}return t}const u=e=>e&&e[0].toUpperCase()+e.slice(1),d={lo:null,hi:null};function f(e,t){let n=e.lo?t.lo?e.lo.value>t.lo.value||e.lo.value===t.lo.value&&e.lo.open?e.lo:t.lo:e.lo:t.lo,r=e.hi?t.hi?e.hi.value<t.hi.value||e.hi.value===t.hi.value&&e.hi.open?e.hi:t.hi:e.hi:t.hi;return n&&r&&(n.value>r.value||n.value===r.value&&(n.open||r.open))?null:{lo:n,hi:r}}function p(e){let t=[...e].sort((e,t)=>!e.lo||!t.lo?e.lo?1:t.lo?-1:0:e.lo.value-t.lo.value||Number(e.lo.open)-Number(t.lo.open)),n=[],r=null,i=!1;for(let e of t){if(!i){if(e.lo&&n.push({lo:null,hi:{value:e.lo.value,open:!e.lo.open}}),i=!0,!e.hi)return n;r=e.hi;continue}let t=r,a=e.lo;if((a.value>t.value||a.value===t.value&&t.open&&a.open)&&n.push({lo:{value:t.value,open:!t.open},hi:{value:a.value,open:!a.open}}),!e.hi)return n;(e.hi.value>t.value||e.hi.value===t.value&&t.open&&!e.hi.open)&&(r=e.hi)}if(!i)return[d];let a=r;return n.push({lo:{value:a.value,open:!a.open},hi:null}),n}function m(e){let t=/^([A-Za-z_][\w.]*)\s*(<=|>=|!=|==|=|<|>)\s*(-?\d+(?:\.\d+)?|"[^"]*"|'[^']*'|true|false)$/.exec(e)??/^(-?\d+(?:\.\d+)?|"[^"]*"|'[^']*')\s*(<=|>=|!=|==|=|<|>)\s*([A-Za-z_][\w.]*)$/.exec(e);if(!t)return null;let n=/^-?\d|^["']/.test(t[1]),r=n?t[3]:t[1],i=n?t[1]:t[3],a=n?{"<":`>`,">":`<`,"<=":`>=`,">=":`<=`}[t[2]]??t[2]:t[2];if(i===`true`||i===`false`){let e=i===`true`;return a===`=`||a===`==`?{kind:`boolean`,variable:r,values:/* @__PURE__ */ new Set([e])}:a===`!=`?{kind:`boolean`,variable:r,values:/* @__PURE__ */ new Set([!e])}:null}if(/^["']/.test(i)){let e=i.slice(1,-1);return a===`=`||a===`==`?{kind:`string`,variable:r,values:/* @__PURE__ */ new Set([e]),others:!1}:a===`!=`?{kind:`string`,variable:r,values:/* @__PURE__ */ new Set([e]),others:!0}:null}let o=Number(i);return{kind:`number`,variable:r,intervals:{"<":[{lo:null,hi:{value:o,open:!0}}],"<=":[{lo:null,hi:{value:o,open:!1}}],">":[{lo:{value:o,open:!0},hi:null}],">=":[{lo:{value:o,open:!1},hi:null}],"=":[{lo:{value:o,open:!1},hi:{value:o,open:!1}}],"==":[{lo:{value:o,open:!1},hi:{value:o,open:!1}}],"!=":[{lo:null,hi:{value:o,open:!0}},{lo:{value:o,open:!0},hi:null}]}[a]}}function h(e){let t=l(e),n=c(t,/^(\s+or\s+|\s*\|\|\s*)/);if(n.length>1){let e=n.map(h);return e.some(e=>!e)||new Set(e.map(e=>`${e?.kind}:${e?.variable}`)).size!==1?null:e.reduce((e,t)=>g(e,t))}let r=c(t,/^(\s+and\s+|\s*&&\s*)/);if(r.length>1){let e=r.map(h);return e.some(e=>!e)||new Set(e.map(e=>`${e?.kind}:${e?.variable}`)).size!==1?null:e.reduce((e,t)=>_(e,t))}let a=/^(?:not\s*\(([\s\S]*)\)|!\s*([A-Za-z_][\w.]*))$/.exec(t);if(a){let e=h(a[1]??a[2]);return e?v(e):null}return/^[A-Za-z_][\w.]*$/.test(t)&&!i.has(t)?{kind:`boolean`,variable:t,values:/* @__PURE__ */ new Set([!0])}:m(t)}function g(e,t){if(e.kind===`number`&&t.kind===`number`)return{...e,intervals:[...e.intervals,...t.intervals]};if(e.kind===`boolean`&&t.kind===`boolean`)return{...e,values:/* @__PURE__ */ new Set([...e.values,...t.values])};let n=e,r=t;if(n.others&&r.others)return{...n,values:new Set([...n.values].filter(e=>r.values.has(e))),others:!0};if(n.others||r.others){let[e,t]=n.others?[n,r]:[r,n];return{...e,values:new Set([...e.values].filter(e=>!t.values.has(e))),others:!0}}return{...n,values:/* @__PURE__ */ new Set([...n.values,...r.values]),others:!1}}function _(e,t){if(e.kind===`number`&&t.kind===`number`){let n=e.intervals.flatMap(e=>t.intervals.map(t=>f(e,t)).filter(e=>!!e));return{...e,intervals:n}}return e.kind===`boolean`&&t.kind===`boolean`?{...e,values:new Set([...e.values].filter(e=>t.values.has(e)))}:v(g(v(e),v(t)))}function v(e){return e.kind===`number`?{...e,intervals:p(e.intervals)}:e.kind===`boolean`?{...e,values:new Set([!0,!1].filter(t=>!e.values.has(t)))}:{...e,others:!e.others}}function y(e){return String(e.value)}function b(t,n){let{lo:r,hi:i}=n;return r&&i&&r.value===i.value?e(`app.rules.flow.isValue`,{variable:t,bound:y(r)}):!r&&i?e(`app.rules.flow.isBound`,{variable:t,side:i.open?e(`app.rules.flow.below`):e(`app.rules.flow.atMost`),bound:y(i)}):r&&!i?e(`app.rules.flow.isBound`,{variable:t,side:r.open?e(`app.rules.flow.above`):e(`app.rules.flow.atLeast`),bound:y(r)}):r&&i?e(`app.rules.flow.isBetween`,{variable:t,lo:y(r),hi:y(i),exclusive:r.open||i.open?e(`app.rules.flow.exclusive`):``}):e(`app.rules.flow.hasAnyValue`,{variable:t})}function x(t){let n=t[0];if(n.kind===`number`)return p(t.flatMap(e=>e.intervals)).map(e=>b(n.variable,e));if(n.kind===`boolean`){let r=new Set(t.flatMap(e=>[...e.values]));return[!0,!1].filter(e=>!r.has(e)).map(t=>e(`app.rules.flow.isValue`,{variable:n.variable,bound:t}))}let r=t.reduce((e,t)=>g(e,t));return r.kind===`string`?r.others?[...r.values].map(t=>e(`app.rules.flow.isValue`,{variable:n.variable,bound:`"${t}"`})):[e(`app.rules.flow.isAnythingBut`,{variable:n.variable,values:[...r.values].map(e=>`"${e}"`).join(e(`app.rules.flow.comma`))})]:[]}function S(t,n){let r=_(t,n);return r.kind===`number`?r.intervals[0]?b(t.variable,r.intervals[0]):null:r.kind===`boolean`?r.values.size>0?e(`app.rules.flow.isValue`,{variable:t.variable,bound:[...r.values][0]}):null:r.others?e(`app.rules.flow.isSomeOtherValue`,{variable:t.variable}):r.values.size>0?e(`app.rules.flow.isValue`,{variable:t.variable,bound:`"${[...r.values][0]}"`}):null}function*C(e){let t=/* @__PURE__ */ new Set,n=[];for(let t of e.rootElements??[])t.$type===`bpmn:Process`&&n.push(t),t.$type===`bpmn:Collaboration`&&t.participants?.forEach(e=>e.processRef&&n.push(e.processRef));for(;n.length>0;){let e=n.pop();if(!t.has(e)){t.add(e);for(let t of e.flowElements??[])yield t,t.flowElements&&n.push(t)}}}function w(t,r){if(r.length<2||t.default)return[];let i=r.map(e=>({flow:e,body:s(e.conditionExpression)}));if(i.some(e=>e.body===null))return[];let a=t.$type===`bpmn:ExclusiveGateway`,c=i.map(e=>h(e.body)),l=c.every(e=>e&&e.kind===c[0]?.kind&&e.variable===c[0]?.variable),d=t.id??``;if(!l)return[{kind:`NO-DEFAULT`,title:n(`flow`,`NO-DEFAULT`),detail:e(`app.rules.flow.noDefaultFlow`,{gateway:u(o(t))}),elements:[d],trace:[]}];let f=c,p=[],m=x(f);if(m.length>0&&p.push({kind:`NO-WAY-OUT`,title:n(`flow`,`NO-WAY-OUT`),detail:e(`app.rules.flow.noWayOut`,{gateway:u(o(t)),gaps:m.join(e(`app.rules.flow.orWhen`))}),elements:[d],trace:[]}),a)for(let i=0;i<f.length;i+=1)for(let a=i+1;a<f.length;a+=1){let s=S(f[i],f[a]);if(!s)continue;let c=t=>t.name?.trim()?`"${t.name.trim()}"`:e(`app.rules.flow.theFlowTo`,{target:t.targetRef?o(t.targetRef):e(`app.rules.flow.theNextStep`)});p.push({kind:`OVERLAP`,title:n(`flow`,`OVERLAP`),detail:e(`app.rules.flow.bothConditionsHold`,{shared:s,first:c(r[i]),second:c(r[a]),gateway:o(t)}),elements:[d,r[i].id??``,r[a].id??``],trace:[]})}return p}function T(e){return[...e.replace(/"[^"]*"|'[^']*'/g,` `).matchAll(/[A-Za-z_][\w]*/g)].map(e=>e[0]).filter(e=>!i.has(e))}function E(e){let t=[],n=s(e.conditionExpression);n&&t.push(...T(n));let r=e.$attrs??{},i=e.resultVariable??r[`camunda:resultVariable`];typeof i==`string`&&t.push(i);let a=e=>{if(!e)return;let n=e.$type??``;if(/zeebe:(input|output)$/.test(n)&&(typeof e.target==`string`&&t.push(e.target),typeof e.source==`string`&&e.source.trim().startsWith(`=`)&&t.push(...T(e.source.trim().slice(1)))),/camunda:(inputParameter|outputParameter)$/.test(n)){typeof e.name==`string`&&t.push(e.name);let n=e.$body??e.value;if(typeof n==`string`)for(let e of n.matchAll(/[$#]\{([^}]*)\}/g))t.push(...T(e[1]))}for(let t of[`$children`,`values`,`inputParameters`,`outputParameters`,`inputParameter`,`outputParameter`]){let n=e[t];Array.isArray(n)&&n.forEach(e=>a(e))}};return(e.extensionElements?.values??[]).forEach(a),t.map(t=>({name:t.split(`.`)[0],element:e.id??``}))}function D(e,t){if(e===t||Math.abs(e.length-t.length)>1)return!1;let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n+=1;let r=(e,t)=>e.slice(t);return e.length===t.length?r(e,n+1)===r(t,n+1)||e[n]===t[n+1]&&e[n+1]===t[n]&&r(e,n+2)===r(t,n+2):e.length>t.length?r(e,n+1)===r(t,n):r(e,n)===r(t,n+1)}function O(t){let r=/* @__PURE__ */ new Map;t.forEach(e=>r.set(e.name,/* @__PURE__ */ new Set([...r.get(e.name)??[],e.element])));let i=[...r.keys()].sort(),a=[];for(let t=0;t<i.length;t+=1)for(let o=t+1;o<i.length;o+=1){let[s,c]=[i[t],i[o]];if(/\d$/.test(s)&&/\d$/.test(c))continue;let l=s.toLowerCase()===c.toLowerCase(),u=Math.min(s.length,c.length)>=5&&D(s,c);(l||u)&&a.push({kind:`LOOKALIKE`,title:n(`flow`,`LOOKALIKE`),detail:e(`app.rules.flow.lookalikeNames`,{first:s,second:c,difference:e(l?`app.rules.flow.letterCaseOnly`:`app.rules.flow.oneCharacter`)}),elements:[.../* @__PURE__ */ new Set([...r.get(s)??[],...r.get(c)??[]])].filter(Boolean),trace:[]})}return a}function k(e){let t=e,n=[],r=[],i=[...C(t)],a=/* @__PURE__ */ new Map;for(let e of i)e.$type===`bpmn:SequenceFlow`&&e.sourceRef&&a.set(e.sourceRef,[...a.get(e.sourceRef)??[],e]);for(let e of i)(e.$type===`bpmn:ExclusiveGateway`||e.$type===`bpmn:InclusiveGateway`)&&n.push(...w(e,a.get(e)??[])),r.push(...E(e));return n.push(...O(r)),n}function A(e){let t=e.trim();if(t.startsWith(`=`))return t.slice(1).trim();let n=/^[$#]\{([\s\S]*)\}$/.exec(t);return n?n[1].trim():t}function j(e,t){let n=!e.lo||(e.lo.open?t>e.lo.value:t>=e.lo.value),r=!e.hi||(e.hi.open?t<e.hi.value:t<=e.hi.value);return n&&r}function M(e){if(e.kind===`boolean`)return[...e.values][0];if(e.kind===`string`){if(!e.others)return[...e.values][0];let t=`other`;for(let n=2;e.values.has(t);n+=1)t=`other${n}`;return t}for(let t of e.intervals){let e=[t.lo?t.lo.open?Math.floor(t.lo.value)+1:t.lo.value:null,t.hi?t.hi.open?Math.ceil(t.hi.value)-1:t.hi.value:null,t.lo&&t.hi?(t.lo.value+t.hi.value)/2:null,0].find(e=>e!==null&&j(t,e));if(e!==void 0)return e}}function N(e){return e.kind===`number`?e.intervals.length===0:(e.kind===`boolean`||!e.others)&&e.values.size===0}function P(e){let t=/* @__PURE__ */ new Map,n=[],r=[],i=(e,r,i,a=n)=>{let o=t.get(e.variable);if(o&&o.kind!==e.kind){i&&a.push(r);return}let s=o?_(o,e):e;N(s)?i&&a.push(r):t.set(e.variable,s)};for(let t of e)for(let e of t.takes){let t=h(A(e));t?i(t,e,!0):n.push(e)}for(let t of e)for(let e of t.avoids){let n=h(A(e));n?i(v(n),e,t.takes.length===0,r):t.takes.length===0&&r.push(e)}let a={};for(let[e,r]of t){let t=M(r);t===void 0?n.push(e):a[e]=t}return{values:a,unresolved:n,avoided:r}}const F=2e4,I=e=>n(`flow`,e),L=e=>e&&e[0].toUpperCase()+e.slice(1);function R(e){switch(e.$type){case`bpmn:StartEvent`:return`start`;case`bpmn:EndEvent`:return`end`;case`bpmn:ExclusiveGateway`:case`bpmn:EventBasedGateway`:case`bpmn:ComplexGateway`:return`xor`;case`bpmn:ParallelGateway`:return`and`;case`bpmn:InclusiveGateway`:return`or`;case`bpmn:BoundaryEvent`:return`boundary`;default:return`activity`}}const z=/* @__PURE__ */ new Set([`bpmn:SequenceFlow`,`bpmn:DataObject`,`bpmn:DataObjectReference`,`bpmn:DataStoreReference`]);function B(e){let t=[],n=[],i=/* @__PURE__ */ new Set,a=e=>{e&&!i.has(e)&&(i.add(e),n.push(e))};for(let t of e.rootElements??[])t.$type===`bpmn:Process`&&a(t),t.$type===`bpmn:Collaboration`&&t.participants?.forEach(e=>a(e.processRef));for(let e=0;e<n.length;e+=1){let i=n[e],o=i.flowElements??[],s=/* @__PURE__ */ new Map;for(let e of o){if(z.has(e.$type)||!e.id||(e.$type===`bpmn:SubProcess`||e.$type===`bpmn:Transaction`||e.$type===`bpmn:AdHocSubProcess`)&&(a(e),e.triggeredByEvent))continue;let t=R(e);s.set(e,{id:e.id,named:!!e.name?.trim(),name:e.name?.replace(/\s+/g,` `).trim()||r(e.$type),kind:t,incoming:[],outgoing:[],defaultFlow:null,terminate:(e.eventDefinitions??[]).some(e=>e.$type===`bpmn:TerminateEventDefinition`),boundaries:[],interrupting:e.cancelActivity!==!1,outgoingNodes:[],host:null,plain:(e.eventDefinitions??[]).length===0})}let c=[];for(let e of o){if(e.$type!==`bpmn:SequenceFlow`)continue;let t=e.sourceRef&&s.get(e.sourceRef),n=e.targetRef&&s.get(e.targetRef);if(!t||!n||!e.id)continue;let r=c.length;c.push({id:e.id,name:e.name?.replace(/\s+/g,` `).trim()??``,source:t,target:n,conditional:!!e.conditionExpression,condition:e.conditionExpression?.body?.trim()??``}),t.outgoing.push(r),t.outgoingNodes.push(n),n.incoming.push(r)}for(let[e,t]of s){e.default&&(t.defaultFlow=c.findIndex(t=>t.id===e.default?.id)),t.defaultFlow===-1&&(t.defaultFlow=null);let n=t.kind===`boundary`&&e.attachedToRef?s.get(e.attachedToRef):void 0;n&&(n.boundaries.push(t),t.host=n)}s.size>0&&t.push({id:i.id??`scope-${e}`,nodes:[...s.values()],flows:c})}return t}function V(e){if(e.length===0)return[];if(e.length>4)return[...e.map(e=>[e]),e];let t=[];for(let n=1;n<1<<e.length;n+=1)t.push(e.filter((e,t)=>n&1<<t));return t}function H(e,t){let n=e.outgoing;if(n.length===0)return[[]];if(e.kind===`xor`)return n.map(e=>[e]);if(e.kind===`and`)return[n];let r=n.filter(n=>n!==e.defaultFlow&&(e.kind===`or`||t[n].conditional)),i=e.kind===`or`?[]:n.filter(t=>!r.includes(t)&&t!==e.defaultFlow),a=V(r).map(e=>[...i,...e]);return e.defaultFlow!==null&&a.push([...i,e.defaultFlow]),r.length===0&&e.defaultFlow===null?[i]:a.length>0?a:[i]}function U(e){let t=e.flows.length,n=e.flows.map(()=>Array(t).fill(!1));return e.flows.forEach((t,r)=>{let i=[...t.target.outgoing];for(;i.length>0;){let t=i.pop();n[r][t]||(n[r][t]=!0,i.push(...e.flows[t].target.outgoing))}}),n}function W(t){if(t.named)return`"${t.name}"`;let n=t.outgoingNodes.find(e=>e.named);return n?e(`app.rules.flow.nodeBefore`,{node:t.name,next:n.name}):e(`app.rules.flow.theNode`,{node:t.name})}function G(t){return t.source.named?`"${t.source.name}"`:e(`app.rules.flow.theBranchThrough`,{node:t.source.name})}function K(e){let t=/* @__PURE__ */ new Set,n=[...e];for(;n.length>0;){let e=n.pop();if(!t.has(e.id)){t.add(e.id);for(let t of e.boundaries)n.push(t);n.push(...e.outgoingNodes)}}return t}function q(t,n){let r=U(t),i=new Set(n.fired),a=[],o=e=>e.join(`,`),s=/* @__PURE__ */ new Map([[o(n.tokens),0]]),c=[n.tokens],l=[{from:-1,fired:n.fired}],u=[],d=[],f=!1,p=/* @__PURE__ */ new Set,m=/* @__PURE__ */ new Set,h=/* @__PURE__ */ new Set,g=e=>m.has(e.id)||h.has(e.id)?!0:(m.add(e.id),h=K([...m].map(e=>t.nodes.find(t=>t.id===e))),!1),_=e=>{let t=[];for(let n=e;n>=0;n=l[n].from)t.unshift(...l[n].fired);return t};for(let n=0;n<c.length;n+=1){let m=c[n],h=[],v=[],y=(r,u,d,y=!1,b=null)=>{let x=y?m.map(()=>0):[...m];y||(r.forEach(e=>--x[e]),u.forEach(e=>x[e]+=1)),d.forEach(e=>i.add(e));let S=x.findIndex(e=>e>1);if(S>=0){let r=t.flows[S].target;if(g(r))return;a.push({kind:`NO-SYNCHRONIZATION`,title:I(`NO-SYNCHRONIZATION`),detail:e(`app.rules.flow.twoTokensAtOnce`,{node:W(r)}),elements:[r.id],trace:[..._(n),...d,r.id]});return}let C=o(x),w=s.get(C);if(w===void 0){if(c.length>=F){f=!0,p.add(n);return}w=c.length,s.set(C,w),c.push(x),l.push({from:n,fired:d})}h.push(w),v.push({to:w,fired:d,choice:b,produced:y?[]:u.map(e=>t.flows[e].id)})};for(let i of t.nodes){if(i.kind===`boundary`||i.kind===`start`)continue;let o=i.incoming.filter(e=>m[e]>0);if(o.length!==0){if(i.kind===`and`)o.length===i.incoming.length&&y(i.incoming,i.outgoing,[i.id]);else if((i.kind===`activity`||i.kind===`xor`)&&o.length>1&&!g(i)&&a.push({kind:`NO-SYNCHRONIZATION`,title:I(`NO-SYNCHRONIZATION`),detail:e(`app.rules.flow.twoBranchesAtOnce`,{node:W(i)}),elements:[i.id],trace:_(n)}),i.kind===`or`){if(i.incoming.filter(e=>m[e]===0).some(e=>m.some((t,n)=>t>0&&!i.incoming.includes(n)&&r[n][e])))continue;let e=H(i,t.flows);for(let t of e)y(o,t,[i.id],!1,e.length>1?{node:i.id,ways:t,boundary:null}:null)}else for(let e of o){if(i.kind===`end`){y([e],[],[i.id],i.terminate);continue}let n=H(i,t.flows);for(let t of n){y([e],t,[i.id],!1,n.length>1?{node:i.id,ways:t,boundary:null}:null);for(let n of i.boundaries){let r=n.interrupting?n.outgoing:[...t,...n.outgoing];y([e],r,[i.id,n.id],!1,{node:i.id,ways:t,boundary:n.id})}}}}}u.push(h),d.push(v)}let v=c.map(()=>[]);u.forEach((e,t)=>e.forEach(e=>v[e].push(t)));let y=e=>{let t=Array(c.length).fill(!1),n=[...e];for(n.forEach(e=>t[e]=!0);n.length>0;){let e=n.pop();for(let r of v[e])t[r]||(t[r]=!0,n.push(r))}return t},b=e=>u[e]!==void 0,x=e=>c[e].some(e=>e>0),S=c.map((e,t)=>t).filter(e=>!x(e)),C=c.map((e,t)=>t).filter(e=>x(e)&&b(e)&&u[e].length===0&&!p.has(e)),w=y([...S,...p]),T=y(C),E=e=>[...new Set(e.flatMap((e,n)=>e>0?[t.flows[n].target]:[]))],D=C.find(e=>!w[e]);if(D!==void 0){let n=c[D],r=E(n),i=_(D),o=new Map(t.nodes.map(e=>[e.id,e])),s=[...i].reverse().map(e=>o.get(e)).find(e=>e&&(e.kind===`xor`||e.kind===`or`||e.kind===`boundary`)),l=s?s.kind===`boundary`?e(`app.rules.flow.leftThroughBoundary`,{host:s.host?W(s.host):e(`app.rules.flow.anActivity`),event:s.named?` ${W(s)}`:``}):e(`app.rules.flow.sentDownAnotherBranch`,{turn:L(W(s))}):``,u=r.map(r=>{let i=r.incoming.filter(e=>n[e]===0).map(e=>G(t.flows[e])),a=W(r);return i.length>0?e(`app.rules.flow.waitsFor`,{who:L(a),missing:i.join(e(`app.rules.flow.and`)),arrives:i.length===1?e(`app.rules.flow.arrives`):e(`app.rules.flow.arrive`)}):e(`app.rules.flow.waitsAndCannotContinue`,{who:L(a)})}).join(` `)+l;a.push({kind:`DEADLOCK`,title:I(`DEADLOCK`),detail:u,elements:r.map(e=>e.id),trace:i})}let O=c.findIndex((e,t)=>x(t)&&b(t)&&!w[t]&&!T[t]);if(O>=0&&!f){let t=E(c[O]);a.push({kind:`NEVER-FINISHES`,title:I(`NEVER-FINISHES`),detail:e(`app.rules.flow.noPathToAnEnd`,{nodes:t.map(W).join(e(`app.rules.flow.and`))}),elements:t.map(e=>e.id),trace:_(O)})}f&&a.push({kind:`TOO-COMPLEX`,title:I(`TOO-COMPLEX`),detail:e(`app.rules.flow.tooManyStates`,{states:F}),elements:[],trace:[]});let k=a.filter(e=>e.kind===`DEADLOCK`).flatMap(e=>e.elements),A=K(t.nodes.filter(e=>k.includes(e.id)));return h.forEach(e=>A.add(e)),{problems:a,fired:i,states:c.length,consequences:A,graph:{tokens:c,edges:d}}}function J(e){let t=e.nodes.filter(e=>e.kind===`start`),n=e.nodes.filter(e=>e.kind===`activity`&&e.incoming.length===0);return t.length>0?t.map(t=>{let n=e.flows.map(()=>0);return t.outgoing.forEach(e=>n[e]+=1),{fired:[t.id],tokens:n,flows:t.outgoing.map(t=>e.flows[t].id)}}):[{fired:n.map(e=>e.id),tokens:e.flows.map((e,t)=>+!!n.some(e=>e.outgoing.includes(t))),flows:e.flows.filter((e,t)=>n.some(e=>e.outgoing.includes(t))).map(e=>e.id)}]}function Y(t){let n=J(t),r=/* @__PURE__ */ new Set,i=/* @__PURE__ */ new Set,a=[],o=0;for(let e of n){let n=q(t,e);n.fired.forEach(e=>r.add(e)),n.consequences.forEach(e=>i.add(e)),a.push(...n.problems),o+=n.states}for(let n of t.nodes){if(r.has(n.id)||n.kind===`start`||i.has(n.id))continue;let t=n.incoming.length===0&&n.kind!==`boundary`?e(`app.rules.flow.nothingLeadsToIt`):e(`app.rules.flow.noPathReachesIt`);a.push({kind:`DEAD-ELEMENT`,title:I(`DEAD-ELEMENT`),detail:e(`app.rules.flow.neverRuns`,{node:L(W(n)),cause:t}),elements:[n.id],trace:[]})}return{problems:a,fired:r,states:o,consequences:i}}function X(e){let t=B(e),n=[...k(e)],r=0;for(let e of t){let t=Y(e);r+=t.states;for(let e of t.problems)n.some(t=>t.kind===e.kind&&t.elements.join()===e.elements.join())||n.push(e)}return{problems:n,scopes:t.length,states:r}}function Z(e,n,r){let i=e=>n.get(e)?.name??e;return{decision:i(r.node),way:t(r.ways.map(t=>e.flows[t].name||`to "${e.flows[t].target.name}"`)),condition:t(r.ways.map(t=>e.flows[t].condition).filter(Boolean)),boundary:r.boundary?i(r.boundary):null,decisionId:r.node,flowIds:r.ways.map(t=>e.flows[t].id),takes:r.ways.map(t=>e.flows[t].condition).filter(Boolean),avoids:(n.get(r.node)?.outgoing??[]).filter(e=>!r.ways.includes(e)).map(t=>e.flows[t].condition).filter(Boolean),boundaryId:r.boundary}}function Q(e,t,n,r,i,a){let o=e=>t.get(e)?.name??e,s=r.filter((e,t)=>r.indexOf(e)===t);return{process:e.id,start:o(n.fired[0]),decisions:a.map(n=>Z(e,t,n)),steps:s.filter(e=>t.get(e)?.kind===`activity`||t.get(e)?.kind===`boundary`).map(o),ends:s.filter(e=>t.get(e)?.kind===`end`).map(o),startId:n.fired[0],stepIds:s.filter(e=>t.get(e)?.kind===`activity`||t.get(e)?.kind===`boundary`),endIds:s.filter(e=>t.get(e)?.kind===`end`),firedIds:r,flowIds:i}}function ee(e,t,n,r,i){let a=[],o=/* @__PURE__ */ new Set,s=/* @__PURE__ */ new Set,c=2e5,l=!1,u=(d,f,p,m,h)=>{if(a.length>=i||c--<=0){l=!0;return}let g=h.map(e=>`${e.node}:${e.ways.join(`+`)}:${e.boundary??``}`).join(`|`),_=`${d}#${g}`;if(!o.has(_)){if(o.add(_),r.tokens[d].every(e=>e===0)){if(s.has(g))return;s.add(g),a.push(Q(e,t,n,p,m,h))}else for(let e of r.edges[d]??[])f.has(e.to)||(f.add(e.to),u(e.to,f,[...p,...e.fired],[...m,...e.produced],e.choice?[...h,e.choice]:h),f.delete(e.to))}};return u(0,/* @__PURE__ */ new Set([0]),[...n.fired],[...n.flows],[]),{list:a,capped:l}}function te(e,t,n,r){let{tokens:i,edges:a}=r,o=e=>i[e].every(e=>e===0),s=i.map(()=>[]);a.forEach((e,t)=>e.forEach(e=>s[e.to].push({from:t,edge:e})));let c=i.map(()=>null),l=i.map((e,t)=>o(t)),u=l.flatMap((e,t)=>e?[t]:[]);for(let e=0;e<u.length;e+=1)for(let{from:t,edge:n}of s[u[e]])l[t]||(l[t]=!0,c[t]=n,u.push(t));let d=i.map(()=>null),f=[0],p=/* @__PURE__ */ new Set([0]);for(let e=0;e<f.length;e+=1)for(let t of a[f[e]]??[])p.has(t.to)||(p.add(t.to),d[t.to]={from:f[e],edge:t},f.push(t.to));let m=/* @__PURE__ */ new Set([...n.fired,...n.flows]),h=/* @__PURE__ */ new Set,g=[];for(let r of f)for(let i of a[r]??[]){if(!l[i.to]||[...i.fired,...i.produced].every(e=>m.has(e)))continue;let a=[];for(let e=r;d[e];e=d[e].from)a.unshift(d[e].edge);a.push(i);for(let e=i.to;!o(e)&&c[e];e=c[e].to)a.push(c[e]);let s=a.filter(e=>e.choice).map(e=>`${e.choice?.node}:${e.choice?.ways.join(`+`)}:${e.choice?.boundary??``}`).join(`|`);a.forEach(e=>[...e.fired,...e.produced].forEach(e=>m.add(e))),h.has(s)||(h.add(s),g.push(Q(e,t,n,[...n.fired,...a.flatMap(e=>e.fired)],[...n.flows,...a.flatMap(e=>e.produced)],a.flatMap(e=>e.choice?[e.choice]:[]))))}return g}function $(e,t=64){let n=[],r=!1;for(let i of B(e)){let e=new Map(i.nodes.map(e=>[e.id,e]));for(let a of J(i)){let{graph:o}=q(i,a),s=ee(i,e,a,o,t);s.capped?(r=!0,n.push(...te(i,e,a,o))):n.push(...s.list)}}return{scenarios:n,capped:r}}function ne(e,t=64){return $(e,t).scenarios}export{P as i,$ as n,ne as r,X as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./chunk-context-rCJvBM9p.js";import{s as t,t as n}from"./chunk-features-C6o8of19.js";import{u as r}from"./chunk-license-BG88gpDZ.js";import{t as i}from"./chunk-plural-Dn-7ulHf.js";import{t as a}from"./chunk-table-BOiaGWwY.js";import{a as o,t as s}from"./chunk-safeWrite-RgLbdyzl.js";import{r as c}from"./chunk-translator-DNm9zRpP.js";import{i as l,n as u,r as d,t as f}from"./chunk-apiTemplates-BOGIiYej.js";import{n as p}from"./chunk-connections-D_wC6d0W.js";import"./chunk-template-Bh7oqbPl.js";import m from"node:path";import{lstatSync as h,mkdirSync as g,readFileSync as _,statSync as v}from"node:fs";const y=10485760,b={"openapi-3":`app.cli.templates.api.format.openapi3`,"swagger-2":`app.cli.templates.api.format.swagger2`,postman:`app.cli.templates.api.format.postman`};function x(e){let t;try{let n=v(e);if(!n.isFile())return{ok:!1,lines:[c(`app.cli.templates.api.notAFile`,{path:e})]};t=n.size}catch{return{ok:!1,lines:[c(`app.cli.templates.api.notAFile`,{path:e})]}}return t>y?{ok:!1,lines:[c(`app.cli.templates.api.tooLarge`,{path:e,megabytes:y/1048576})]}:_(e,`utf8`)}function S(e){try{return h(e),!0}catch{return!1}}async function C(h,_,v){let y=v??await r(),C=n(y);if(_.write&&!C)return{ok:!1,lines:t(y,`api-templates`)};if(_.secretPrefix!==void 0&&!u(_.secretPrefix))return{ok:!1,lines:[c(`app.cli.templates.api.badSecretPrefix`,{value:_.secretPrefix})]};let w=x(h);if(typeof w!=`string`)return w;let T;try{T=l(w)}catch(e){if(e instanceof d)return{ok:!1,lines:[e.message]};throw e}let E=e(h).root,D=f(T,{limit:C?null:3,secretPrefix:_.secretPrefix,existingSecrets:p(E)}),O=m.resolve(_.out??m.join(E,`.camunda/element-templates`)),k=D.templates.length,A=k<D.total,j=D.templates.map(e=>({entry:e,file:m.join(O,e.file)})),M=new Set(j.filter(e=>S(e.file)).map(e=>e.entry.id)),N=null;if(_.write)try{g(O,{recursive:!0}),N=o(j.map(e=>({path:e.file,content:e.entry.text})),O,{replace:!0})}catch(e){if(e instanceof s)return{ok:!1,lines:[e.message]};throw e}let P=e=>c(`app.cli.templates.api.action.${_.write?M.has(e)?`replaced`:`created`:M.has(e)?`wouldReplace`:`wouldCreate`}`),F=m.relative(process.cwd(),O)||`.`;if(_.format===`json`){let e={api:{title:T.title,format:T.format,version:T.version,operations:D.total},directory:O,write:_.write,truncated:A,shown:k,total:D.total,templates:j.map(e=>({id:e.entry.id,file:e.file,operation:e.entry.operation,method:e.entry.method,path:e.entry.path,properties:e.entry.properties,action:M.has(e.entry.id)?`replace`:`create`,template:JSON.parse(e.entry.text)})),warnings:D.warnings,secrets:D.secrets,secretPrefix:D.prefix,written:N};return{ok:!0,refused:!1,lines:[JSON.stringify(e,null,2)]}}let I=a(j,{columns:[{name:`file`,header:c(`app.cli.header.file`),value:e=>m.relative(O,e.file)},{name:`operation`,header:c(`app.cli.templates.api.operation`),value:e=>`${e.entry.method} ${e.entry.path}`},{name:`inputs`,header:c(`app.cli.templates.inputs`),align:`right`,value:e=>e.entry.properties},{name:`action`,header:``,value:e=>P(e.entry.id)}]}),L=[c(`app.cli.templates.api.found`,{title:T.title,format:c(b[T.format]),operations:i(D.total,`app.cli.templates.count.operation`)}),...I];return A&&L.push(``,c(`app.cli.templates.api.freePreview`,{shown:k,total:D.total}),...t(y,`api-templates`)),D.warnings.length>0&&L.push(``,...D.warnings.map(e=>c(`app.cli.templates.warning`,{reason:e}))),D.secrets.length>0&&L.push(``,c(`app.cli.templates.api.secrets`,{names:D.secrets.join(`, `)})),L.push(``,N?c(`app.cli.templates.api.written`,{created:N.created.length,replaced:N.replaced.length,directory:F}):c(`app.cli.templates.api.dryRun`,{directory:F})),{ok:!0,lines:L}}export{C as apiTemplatesCommand};
@@ -1,11 +1,11 @@
1
- import{r as e}from"./chunk-translator-DNm9zRpP.js";import{o as t}from"./chunk-failure-D5brrYW2.js";import{t as n}from"./chunk-context-rCJvBM9p.js";import{r}from"./chunk-commands-B4PoZbpX.js";import{t as i}from"./chunk-plural-Dn-7ulHf.js";import{n as a}from"./chunk-project-DA3KnAZH.js";import{c as o,d as s,i as c,l,n as u,p as d}from"./chunk-git-57LoLvY3.js";import{n as f,t as p}from"./chunk-compose-CWKKVtN5.js";import{r as m,t as h}from"./chunk-drawing-MbILUK8j.js";import g from"node:path";import{tmpdir as _}from"node:os";import{existsSync as v,mkdirSync as y,readFileSync as b,rmSync as x,writeFileSync as S}from"node:fs";const C=/(?:^|\s)(?:@penstock(?:\[bot\])?|\/penstock)\s*([^\n]*)/i,w=/^[A-Za-z0-9._\/ -]{1,300}\.bpmn(20\.xml)?$/;function T(e){let t=C.exec(e);if(!t)return null;let[n=``,r]=t[1].trim().split(/\s+/);switch(n.toLowerCase()){case``:case`report`:return{kind:`report`};case`check`:case`problems`:return{kind:`check`};case`diff`:case`against`:return r&&d(r)?{kind:`diff`,against:r}:{kind:`diff`};case`image`:case`picture`:case`screenshot`:return r&&w.test(r)&&!r.includes(`..`)?{kind:`image`,path:r}:{kind:`image`};default:return{kind:`help`}}}function E(){return[e(`app.cli.bot.help.intro`),``,e(`app.cli.bot.help.report`),e(`app.cli.bot.help.check`),e(`app.cli.bot.help.diff`),e(`app.cli.bot.help.image`)].join(`
2
- `)}const D=`<!-- penstock -->`,O=/* @__PURE__ */ new Set([`OWNER`,`MEMBER`,`COLLABORATOR`]);function k(e){let t=Number(e.PENSTOCK_HTTP_TIMEOUT_MS);return Number.isFinite(t)&&t>0?t:3e4}function A(e,t){if(e)try{return new URL(e).origin===new URL(t).origin?e:void 0}catch{return}}async function j(e,t,n){let r=await fetch(t,{...n,signal:AbortSignal.timeout(k(e))});if(!r.ok)throw Error(`${n.method??`GET`} ${new URL(t).pathname}: ${r.status} ${(await r.text()).slice(0,200)}`);return r}function M(t,n,r){for(let e of n){let n=t[e];if(n)return n}throw Error(e(`app.cli.bot.${r}`,{names:n.join(` or `)}))}function N(e){return(e??``).includes(D)}function P(e){return new Blob([b(e)],{type:`image/svg+xml`})}function F(e){return/<([^>]+)>;\s*rel="next"/.exec(e.headers.get(`link`)??``)?.[1]}function I(t){let n=!!(t.GITEA_ACTIONS||t.FORGEJO_ACTIONS||t.GITHUB_SERVER_URL&&!/github\.com|ghe\.com/.test(t.GITHUB_SERVER_URL)&&t.GITHUB_API_URL?.includes(`/api/v1`)),r=t.GITHUB_API_URL??(n?`${t.GITHUB_SERVER_URL}/api/v1`:`https://api.github.com`),i=M(t,[`GITHUB_REPOSITORY`],`noRepository`),a=M(t,[`PENSTOCK_TOKEN`,`GITHUB_TOKEN`,`GITEA_TOKEN`],`noToken`),o={Authorization:n?`token ${a}`:`Bearer ${a}`,Accept:`application/json`},s=JSON.parse(b(M(t,[`GITHUB_EVENT_PATH`],`noEventPath`),`utf8`)),c=n?50:100,l=``,u=async(e,n,a)=>{let s=await j(t,`${r}/repos/${i}${n}`,{method:e,headers:{...o,...a?{"Content-Type":`application/json`}:{}},body:a?JSON.stringify(a):void 0});return s.status===204?void 0:await s.json()},d=e=>({head:e?.head?.repo?.full_name??``,base:e?.base?.repo?.full_name??``}),f=t=>e(`app.cli.bot.fromAnotherFork`,{head:t.head?e(`app.cli.bot.theFork`,{head:t.head}):e(`app.cli.bot.aForkNoLongerExists`),base:t.base});return{name:n?`gitea`:`github`,async ask(){if(t.GITHUB_EVENT_NAME===`issue_comment`){if(s.action!==`created`||!s.issue?.pull_request||s.comment?.user?.type===`Bot`||N(s.comment?.body))return null;let e=s.comment?.author_association;if(typeof e==`string`?!O.has(e):!n)return null;l=String(s.issue.number);let t=await u(`GET`,`/pulls/${l}`),r=d(t),i={number:l,base:t.base.sha,head:`refs/pull/${l}/head`,command:s.comment.body};return r.head===r.base?i:{...i,refuse:f(r)}}let e=s.pull_request;if(!e)return null;l=String(e.number);let r=d(e),i={number:l,base:e.base.sha,head:`refs/pull/${l}/head`,command:t.PENSTOCK_COMMAND};return r.head===r.base?i:{...i,refuse:f(r)}},async comments(e){let a=[],s=1,u=`${r}/repos/${i}/issues/${l}/comments?per_page=100${n?`&limit=${c}`:``}&page=${s}`;for(;u&&s<=200;){let d=await j(t,u,{headers:o}),f=await d.json();for(let t of f){let n={id:String(t.id),body:t.body??``};if(a.push(n),e(n))return a}let p=A(F(d),r);p?(s+=1,u=p):(s+=1,u=f.length<c?void 0:`${r}/repos/${i}/issues/${l}/comments?per_page=100${n?`&limit=${c}`:``}&page=${s}`)}return a},async post(e){await u(`POST`,`/issues/${l}/comments`,{body:e})},async edit(e,t){await u(`PATCH`,`/issues/comments/${e}`,{body:t})},async attach(e){if(!n)return null;let a=new FormData;return a.append(`attachment`,P(e),g.basename(e)),(await(await j(t,`${r}/repos/${i}/issues/${l}/assets?name=${encodeURIComponent(g.basename(e))}`,{method:`POST`,headers:o,body:a})).json()).browser_download_url||null},picturesLink(){if(t.GITHUB_RUN_ID)return`${t.GITHUB_SERVER_URL??`https://github.com`}/${i}/actions/runs/${t.GITHUB_RUN_ID}`}}}function L(e){let t=M(e,[`CI_API_V4_URL`],`noGitLabApi`),n={"PRIVATE-TOKEN":M(e,[`PENSTOCK_TOKEN`,`GITLAB_TOKEN`],`noGitLabToken`)},r=e.TRIGGER_PAYLOAD?JSON.parse(b(e.TRIGGER_PAYLOAD,`utf8`)):null,i=encodeURIComponent(String(r?.project?.id??M(e,[`CI_PROJECT_ID`],`noGitLabProject`))),a=``,o=async(r,a,o)=>await(await j(e,`${t}/projects/${i}${a}`,{method:r,headers:{...n,...o?{"Content-Type":`application/json`}:{}},body:o?JSON.stringify(o):void 0})).json();return{name:`gitlab`,async ask(){if(r){if(r.object_kind!==`note`||r.object_attributes?.noteable_type!==`MergeRequest`||N(r.object_attributes.note)||r.user?.bot)return null;let e=r.merge_request;return a=String(e.iid),{number:a,base:`origin/${e.target_branch}`,head:`refs/merge-requests/${a}/head`,command:r.object_attributes.note}}return e.CI_MERGE_REQUEST_IID?(a=e.CI_MERGE_REQUEST_IID,{number:a,base:e.CI_MERGE_REQUEST_DIFF_BASE_SHA??`origin/${e.CI_MERGE_REQUEST_TARGET_BRANCH_NAME}`,command:e.PENSTOCK_COMMAND}):null},async comments(r){let o=[],s=1;for(;s<=200;){let c=await j(e,`${t}/projects/${i}/merge_requests/${a}/notes?per_page=100&page=${s}`,{headers:n}),l=await c.json();for(let e of l){let t={id:String(e.id),body:e.body??``};if(o.push(t),r(t))return o}if(!c.headers.get(`x-next-page`)&&l.length<100)return o;s+=1}return o},async post(e){await o(`POST`,`/merge_requests/${a}/notes`,{body:e})},async edit(e,t){await o(`PUT`,`/merge_requests/${a}/notes/${e}`,{body:t})},async attach(r){let a=new FormData;return a.append(`file`,P(r),g.basename(r)),(await(await j(e,`${t}/projects/${i}/uploads`,{method:`POST`,headers:n,body:a})).json()).url||null},picturesLink(){return e.CI_JOB_URL?`${e.CI_JOB_URL}/artifacts/browse`:void 0}}}function R(e){let t=e.BITBUCKET_API_URL??`https://api.bitbucket.org/2.0`,n=M(e,[`BITBUCKET_REPO_FULL_NAME`],`noBitbucketRepo`),r=M(e,[`BITBUCKET_PR_ID`],`noBitbucketPr`),i={Authorization:`Bearer ${M(e,[`PENSTOCK_TOKEN`,`BITBUCKET_TOKEN`],`noBitbucketToken`)}`,"Content-Type":`application/json`},a=`${t}/repositories/${n}/pullrequests/${r}/comments`;return{name:`bitbucket`,async ask(){return{number:r,base:`origin/${M(e,[`BITBUCKET_PR_DESTINATION_BRANCH`],`noBitbucketBranch`)}`,command:e.PENSTOCK_COMMAND}},async comments(n){let r=[],o=`${a}?pagelen=100`,s=0;for(;o&&s++<200;){let a=await(await j(e,o,{headers:i})).json();for(let e of a.values){let t={id:String(e.id),body:e.content?.raw??``};if(r.push(t),n(t))return r}o=A(a.next,t)}return r},async post(t){await j(e,a,{method:`POST`,headers:i,body:JSON.stringify({content:{raw:t}})})},async edit(t,n){await j(e,`${a}/${t}`,{method:`PUT`,headers:i,body:JSON.stringify({content:{raw:n}})})},async attach(){return null},picturesLink(){let t=e.BITBUCKET_WORKSPACE;return e.BITBUCKET_BUILD_NUMBER&&t?`https://bitbucket.org/${n}/pipelines/results/${e.BITBUCKET_BUILD_NUMBER}`:void 0}}}function z(e){let t=M(e,[`SYSTEM_COLLECTIONURI`],`noAzureCollection`).replace(/\/$/,``),n=encodeURIComponent(M(e,[`SYSTEM_TEAMPROJECT`],`noAzureProject`)),r=M(e,[`BUILD_REPOSITORY_ID`],`noAzureRepository`),i=M(e,[`SYSTEM_PULLREQUEST_PULLREQUESTID`],`noAzurePullRequest`),a={Authorization:`Bearer ${M(e,[`PENSTOCK_TOKEN`,`SYSTEM_ACCESSTOKEN`],`noAzureToken`)}`},o=`${t}/${n}/_apis/git/repositories/${r}/pullRequests/${i}`,s=async(t,n,r)=>await(await j(e,n,{method:t,headers:{...a,"Content-Type":`application/json`},body:r?JSON.stringify(r):void 0})).json();return{name:`azure`,async ask(){let t=M(e,[`SYSTEM_PULLREQUEST_TARGETBRANCH`],`noAzureBranch`).replace(/^refs\/heads\//,``);return{number:i,base:`origin/${t}`,command:e.PENSTOCK_COMMAND}},async comments(e){let t=await s(`GET`,`${o}/threads?api-version=7.1`),n=[];for(let r of t.value){if(!r.comments[0])continue;let t={id:`${r.id}/${r.comments[0].id}`,body:r.comments[0].content??``};if(n.push(t),e(t))return n}return n},async post(e){await s(`POST`,`${o}/threads?api-version=7.1`,{comments:[{parentCommentId:0,content:e,commentType:1}],status:1})},async edit(e,t){let[n,r]=e.split(`/`);await s(`PATCH`,`${o}/threads/${n}/comments/${r}?api-version=7.1`,{content:t})},async attach(t){return(await(await j(e,`${o}/attachments/${encodeURIComponent(g.basename(t))}?api-version=7.1-preview.1`,{method:`POST`,headers:{...a,"Content-Type":`application/octet-stream`},body:b(t)})).json()).url||null},picturesLink(){return e.BUILD_BUILDID?`${t}/${n}/_build/results?buildId=${e.BUILD_BUILDID}&view=artifacts`:void 0}}}function B(e){return e.GITHUB_ACTIONS||e.GITEA_ACTIONS||e.FORGEJO_ACTIONS?I(e):e.GITLAB_CI?L(e):e.BITBUCKET_BUILD_NUMBER?R(e):e.TF_BUILD?z(e):null}const V=`{{penstock-pictures}}`;function H(t,n){let r=[],o=[];return{pictures:r,notes:o,async add(s,c){let l;try{let t=await h(b(s.after,`utf8`),c);l=t.svg,t.skipped.length>0&&o.push(`**${s.relative}**: ${e(`app.cli.bot.elementsNotDrawn`,{elements:i(t.skipped.length,`app.cli.bot.count.element`),ids:t.skipped.map(e=>`\`${e}\``).join(`, `)})}`)}catch(t){return o.push(e(`app.cli.bot.noPictureBecause`,{file:s.relative,reason:t instanceof Error?t.message:String(t)})),null}r.push({title:s.relative,svg:l});let u=g.join(n,`${r.length}-${a(s.relative)}.svg`);return S(u,l),t.attach(u)}}}function U(e,t){return t.length===0?e:`${e.trimEnd()}\n\n${t.map(e=>`> ${e}`).join(`
1
+ import{r as e}from"./chunk-translator-DNm9zRpP.js";import{c as t,d as n,i as r,l as i,n as a,p as o}from"./chunk-git-57LoLvY3.js";import{r as s}from"./chunk-commands-B8YVT41b.js";import{n as c,t as l}from"./chunk-compose-BUJTvoFX.js";import{t as u}from"./chunk-context-rCJvBM9p.js";import{o as d}from"./chunk-failure-BRyRvObj.js";import{r as f,t as p}from"./chunk-drawing-MbILUK8j.js";import{t as m}from"./chunk-plural-Dn-7ulHf.js";import{n as h}from"./chunk-project-lO_6DX8G.js";import g from"node:path";import{tmpdir as _}from"node:os";import{existsSync as v,mkdirSync as y,readFileSync as b,rmSync as x,writeFileSync as S}from"node:fs";const C=/(?:^|\s)(?:@penstock(?:\[bot\])?|\/penstock)\s*([^\n]*)/i,w=/^[A-Za-z0-9._\/ -]{1,300}\.bpmn(20\.xml)?$/;function T(e){let t=C.exec(e);if(!t)return null;let[n=``,r]=t[1].trim().split(/\s+/);switch(n.toLowerCase()){case``:case`report`:return{kind:`report`};case`check`:case`problems`:return{kind:`check`};case`diff`:case`against`:return r&&o(r)?{kind:`diff`,against:r}:{kind:`diff`};case`image`:case`picture`:case`screenshot`:return r&&w.test(r)&&!r.includes(`..`)?{kind:`image`,path:r}:{kind:`image`};default:return{kind:`help`}}}function E(){return[e(`app.cli.bot.help.intro`),``,e(`app.cli.bot.help.report`),e(`app.cli.bot.help.check`),e(`app.cli.bot.help.diff`),e(`app.cli.bot.help.image`)].join(`
2
+ `)}const D=`<!-- penstock -->`,O=/* @__PURE__ */ new Set([`OWNER`,`MEMBER`,`COLLABORATOR`]);function k(e){let t=Number(e.PENSTOCK_HTTP_TIMEOUT_MS);return Number.isFinite(t)&&t>0?t:3e4}function A(e,t){if(e)try{return new URL(e).origin===new URL(t).origin?e:void 0}catch{return}}async function j(e,t,n){let r=await fetch(t,{...n,signal:AbortSignal.timeout(k(e))});if(!r.ok)throw Error(`${n.method??`GET`} ${new URL(t).pathname}: ${r.status} ${(await r.text()).slice(0,200)}`);return r}function M(t,n,r){for(let e of n){let n=t[e];if(n)return n}throw Error(e(`app.cli.bot.${r}`,{names:n.join(` or `)}))}function N(e){return(e??``).includes(D)}function P(e){return new Blob([b(e)],{type:`image/svg+xml`})}function F(e){return/<([^>]+)>;\s*rel="next"/.exec(e.headers.get(`link`)??``)?.[1]}function I(t){let n=!!(t.GITEA_ACTIONS||t.FORGEJO_ACTIONS||t.GITHUB_SERVER_URL&&!/github\.com|ghe\.com/.test(t.GITHUB_SERVER_URL)&&t.GITHUB_API_URL?.includes(`/api/v1`)),r=t.GITHUB_API_URL??(n?`${t.GITHUB_SERVER_URL}/api/v1`:`https://api.github.com`),i=M(t,[`GITHUB_REPOSITORY`],`noRepository`),a=M(t,[`PENSTOCK_TOKEN`,`GITHUB_TOKEN`,`GITEA_TOKEN`],`noToken`),o={Authorization:n?`token ${a}`:`Bearer ${a}`,Accept:`application/json`},s=JSON.parse(b(M(t,[`GITHUB_EVENT_PATH`],`noEventPath`),`utf8`)),c=n?50:100,l=``,u=async(e,n,a)=>{let s=await j(t,`${r}/repos/${i}${n}`,{method:e,headers:{...o,...a?{"Content-Type":`application/json`}:{}},body:a?JSON.stringify(a):void 0});return s.status===204?void 0:await s.json()},d=e=>({head:e?.head?.repo?.full_name??``,base:e?.base?.repo?.full_name??``}),f=t=>e(`app.cli.bot.fromAnotherFork`,{head:t.head?e(`app.cli.bot.theFork`,{head:t.head}):e(`app.cli.bot.aForkNoLongerExists`),base:t.base});return{name:n?`gitea`:`github`,async ask(){if(t.GITHUB_EVENT_NAME===`issue_comment`){if(s.action!==`created`||!s.issue?.pull_request||s.comment?.user?.type===`Bot`||N(s.comment?.body))return null;let e=s.comment?.author_association;if(typeof e==`string`?!O.has(e):!n)return null;l=String(s.issue.number);let t=await u(`GET`,`/pulls/${l}`),r=d(t),i={number:l,base:t.base.sha,head:`refs/pull/${l}/head`,command:s.comment.body};return r.head===r.base?i:{...i,refuse:f(r)}}let e=s.pull_request;if(!e)return null;l=String(e.number);let r=d(e),i={number:l,base:e.base.sha,head:`refs/pull/${l}/head`,command:t.PENSTOCK_COMMAND};return r.head===r.base?i:{...i,refuse:f(r)}},async comments(e){let a=[],s=1,u=`${r}/repos/${i}/issues/${l}/comments?per_page=100${n?`&limit=${c}`:``}&page=${s}`;for(;u&&s<=200;){let d=await j(t,u,{headers:o}),f=await d.json();for(let t of f){let n={id:String(t.id),body:t.body??``};if(a.push(n),e(n))return a}let p=A(F(d),r);p?(s+=1,u=p):(s+=1,u=f.length<c?void 0:`${r}/repos/${i}/issues/${l}/comments?per_page=100${n?`&limit=${c}`:``}&page=${s}`)}return a},async post(e){await u(`POST`,`/issues/${l}/comments`,{body:e})},async edit(e,t){await u(`PATCH`,`/issues/comments/${e}`,{body:t})},async attach(e){if(!n)return null;let a=new FormData;return a.append(`attachment`,P(e),g.basename(e)),(await(await j(t,`${r}/repos/${i}/issues/${l}/assets?name=${encodeURIComponent(g.basename(e))}`,{method:`POST`,headers:o,body:a})).json()).browser_download_url||null},picturesLink(){if(t.GITHUB_RUN_ID)return`${t.GITHUB_SERVER_URL??`https://github.com`}/${i}/actions/runs/${t.GITHUB_RUN_ID}`}}}function L(e){let t=M(e,[`CI_API_V4_URL`],`noGitLabApi`),n={"PRIVATE-TOKEN":M(e,[`PENSTOCK_TOKEN`,`GITLAB_TOKEN`],`noGitLabToken`)},r=e.TRIGGER_PAYLOAD?JSON.parse(b(e.TRIGGER_PAYLOAD,`utf8`)):null,i=encodeURIComponent(String(r?.project?.id??M(e,[`CI_PROJECT_ID`],`noGitLabProject`))),a=``,o=async(r,a,o)=>await(await j(e,`${t}/projects/${i}${a}`,{method:r,headers:{...n,...o?{"Content-Type":`application/json`}:{}},body:o?JSON.stringify(o):void 0})).json();return{name:`gitlab`,async ask(){if(r){if(r.object_kind!==`note`||r.object_attributes?.noteable_type!==`MergeRequest`||N(r.object_attributes.note)||r.user?.bot)return null;let e=r.merge_request;return a=String(e.iid),{number:a,base:`origin/${e.target_branch}`,head:`refs/merge-requests/${a}/head`,command:r.object_attributes.note}}return e.CI_MERGE_REQUEST_IID?(a=e.CI_MERGE_REQUEST_IID,{number:a,base:e.CI_MERGE_REQUEST_DIFF_BASE_SHA??`origin/${e.CI_MERGE_REQUEST_TARGET_BRANCH_NAME}`,command:e.PENSTOCK_COMMAND}):null},async comments(r){let o=[],s=1;for(;s<=200;){let c=await j(e,`${t}/projects/${i}/merge_requests/${a}/notes?per_page=100&page=${s}`,{headers:n}),l=await c.json();for(let e of l){let t={id:String(e.id),body:e.body??``};if(o.push(t),r(t))return o}if(!c.headers.get(`x-next-page`)&&l.length<100)return o;s+=1}return o},async post(e){await o(`POST`,`/merge_requests/${a}/notes`,{body:e})},async edit(e,t){await o(`PUT`,`/merge_requests/${a}/notes/${e}`,{body:t})},async attach(r){let a=new FormData;return a.append(`file`,P(r),g.basename(r)),(await(await j(e,`${t}/projects/${i}/uploads`,{method:`POST`,headers:n,body:a})).json()).url||null},picturesLink(){return e.CI_JOB_URL?`${e.CI_JOB_URL}/artifacts/browse`:void 0}}}function R(e){let t=e.BITBUCKET_API_URL??`https://api.bitbucket.org/2.0`,n=M(e,[`BITBUCKET_REPO_FULL_NAME`],`noBitbucketRepo`),r=M(e,[`BITBUCKET_PR_ID`],`noBitbucketPr`),i={Authorization:`Bearer ${M(e,[`PENSTOCK_TOKEN`,`BITBUCKET_TOKEN`],`noBitbucketToken`)}`,"Content-Type":`application/json`},a=`${t}/repositories/${n}/pullrequests/${r}/comments`;return{name:`bitbucket`,async ask(){return{number:r,base:`origin/${M(e,[`BITBUCKET_PR_DESTINATION_BRANCH`],`noBitbucketBranch`)}`,command:e.PENSTOCK_COMMAND}},async comments(n){let r=[],o=`${a}?pagelen=100`,s=0;for(;o&&s++<200;){let a=await(await j(e,o,{headers:i})).json();for(let e of a.values){let t={id:String(e.id),body:e.content?.raw??``};if(r.push(t),n(t))return r}o=A(a.next,t)}return r},async post(t){await j(e,a,{method:`POST`,headers:i,body:JSON.stringify({content:{raw:t}})})},async edit(t,n){await j(e,`${a}/${t}`,{method:`PUT`,headers:i,body:JSON.stringify({content:{raw:n}})})},async attach(){return null},picturesLink(){let t=e.BITBUCKET_WORKSPACE;return e.BITBUCKET_BUILD_NUMBER&&t?`https://bitbucket.org/${n}/pipelines/results/${e.BITBUCKET_BUILD_NUMBER}`:void 0}}}function z(e){let t=M(e,[`SYSTEM_COLLECTIONURI`],`noAzureCollection`).replace(/\/$/,``),n=encodeURIComponent(M(e,[`SYSTEM_TEAMPROJECT`],`noAzureProject`)),r=M(e,[`BUILD_REPOSITORY_ID`],`noAzureRepository`),i=M(e,[`SYSTEM_PULLREQUEST_PULLREQUESTID`],`noAzurePullRequest`),a={Authorization:`Bearer ${M(e,[`PENSTOCK_TOKEN`,`SYSTEM_ACCESSTOKEN`],`noAzureToken`)}`},o=`${t}/${n}/_apis/git/repositories/${r}/pullRequests/${i}`,s=async(t,n,r)=>await(await j(e,n,{method:t,headers:{...a,"Content-Type":`application/json`},body:r?JSON.stringify(r):void 0})).json();return{name:`azure`,async ask(){let t=M(e,[`SYSTEM_PULLREQUEST_TARGETBRANCH`],`noAzureBranch`).replace(/^refs\/heads\//,``);return{number:i,base:`origin/${t}`,command:e.PENSTOCK_COMMAND}},async comments(e){let t=await s(`GET`,`${o}/threads?api-version=7.1`),n=[];for(let r of t.value){if(!r.comments[0])continue;let t={id:`${r.id}/${r.comments[0].id}`,body:r.comments[0].content??``};if(n.push(t),e(t))return n}return n},async post(e){await s(`POST`,`${o}/threads?api-version=7.1`,{comments:[{parentCommentId:0,content:e,commentType:1}],status:1})},async edit(e,t){let[n,r]=e.split(`/`);await s(`PATCH`,`${o}/threads/${n}/comments/${r}?api-version=7.1`,{content:t})},async attach(t){return(await(await j(e,`${o}/attachments/${encodeURIComponent(g.basename(t))}?api-version=7.1-preview.1`,{method:`POST`,headers:{...a,"Content-Type":`application/octet-stream`},body:b(t)})).json()).url||null},picturesLink(){return e.BUILD_BUILDID?`${t}/${n}/_build/results?buildId=${e.BUILD_BUILDID}&view=artifacts`:void 0}}}function B(e){return e.GITHUB_ACTIONS||e.GITEA_ACTIONS||e.FORGEJO_ACTIONS?I(e):e.GITLAB_CI?L(e):e.BITBUCKET_BUILD_NUMBER?R(e):e.TF_BUILD?z(e):null}const V=`{{penstock-pictures}}`;function H(t,n){let r=[],i=[];return{pictures:r,notes:i,async add(a,o){let s;try{let t=await p(b(a.after,`utf8`),o);s=t.svg,t.skipped.length>0&&i.push(`**${a.relative}**: ${e(`app.cli.bot.elementsNotDrawn`,{elements:m(t.skipped.length,`app.cli.bot.count.element`),ids:t.skipped.map(e=>`\`${e}\``).join(`, `)})}`)}catch(t){return i.push(e(`app.cli.bot.noPictureBecause`,{file:a.relative,reason:t instanceof Error?t.message:String(t)})),null}r.push({title:a.relative,svg:s});let c=g.join(n,`${r.length}-${h(a.relative)}.svg`);return S(c,s),t.attach(c)}}}function U(e,t){return t.length===0?e:`${e.trimEnd()}\n\n${t.map(e=>`> ${e}`).join(`
3
3
  >
4
4
  `)}\n`}const W=/\[([^\]]*)\]\(\{\{penstock-pictures\}\}\)/g;function G(t,n){return n?t.replace(W,`[$1](${n})`):t.includes(`](${V})`)?`${t.split(`
5
5
  `).filter(e=>!e.includes(`](${V})`)).join(`
6
6
  `).trimEnd()}\n\n${e(`app.cli.bot.picturesInArtifacts`)}`:t}function K(t){return`${t.split(`
7
7
  `).filter(e=>!e.includes(`](${V})`)).join(`
8
- `).trimEnd()}\n\n${e(`app.cli.report.noPictures`)}\n`}async function q(e,t,n,r){let{changed:i,removed:a}=c(e,t),o=H(n,r),s=await f({changed:i.slice(0,40),removed:a,picture:o.add,picturesLink:V});return{body:U(o.pictures.length>0?s.markdown:K(s.markdown),o.notes),pictures:o.pictures}}async function J(t,n,i,a,o){switch(n.kind){case`help`:return{body:E(),upsert:!1,pictures:[]};case`report`:return{...await q(t,i,a,o),upsert:!0};case`diff`:{if(!n.against)return{body:e(`app.cli.bot.sayWhatToCompareWith`),upsert:!1,pictures:[]};let r=s(t,n.against);if(!r)return{body:e(`app.cli.bot.couldNotFindRef`,{ref:n.against}),upsert:!1,pictures:[]};let i=await q(t,r,a,o);return{body:i.body.replace(p,``).replace(e(`app.cli.report.heading`),e(`app.cli.bot.diagramsChangedSince`,{ref:n.against})),upsert:!1,pictures:i.pictures}}case`check`:{let{changed:n}=c(t,i);if(n.length===0)return{body:e(`app.cli.bot.noDiagramChangedHere`),upsert:!1,pictures:[]};let a=(await r(n.map(e=>e.after),{format:`json`,baseline:!0,updateBaseline:!1})).reported;return a.length===0?{body:e(`app.cli.bot.cleanAgainstTheBaseline`),upsert:!1,pictures:[]}:{body:a.map(e=>`- **${g.relative(t,e.file)}** \`${e.rule}\` ${e.message}`).join(`
9
- `),upsert:!1,pictures:[]}}case`image`:{let r=n.path?[n.path]:c(t,i).changed.map(e=>e.relative);if(r.length===0)return{body:e(`app.cli.bot.noDiagramToDraw`),upsert:!1,pictures:[]};let s=H(a,o),l=[],u=[];for(let n of r.slice(0,40)){let r=g.join(t,n);if(!v(r)){l.push(e(`app.cli.bot.notInThisChange`,{file:n}));continue}let i=await s.add({relative:n,after:r},{});i?l.push(`**${n}**\n\n![${n}](${i})`):u.push(n)}return u.length>0&&l.push(e(`app.cli.bot.drawnButNotShown`,{files:u.map(e=>`**${e}**`).join(`, `),open:e(`app.cli.bot.openThem`),link:V})),{body:U(l.join(`
8
+ `).trimEnd()}\n\n${e(`app.cli.report.noPictures`)}\n`}async function q(e,t,n,i){let{changed:a,removed:o}=r(e,t),s=H(n,i),l=await c({changed:a.slice(0,40),removed:o,picture:s.add,picturesLink:V});return{body:U(s.pictures.length>0?l.markdown:K(l.markdown),s.notes),pictures:s.pictures}}async function J(t,i,a,o,c){switch(i.kind){case`help`:return{body:E(),upsert:!1,pictures:[]};case`report`:return{...await q(t,a,o,c),upsert:!0};case`diff`:{if(!i.against)return{body:e(`app.cli.bot.sayWhatToCompareWith`),upsert:!1,pictures:[]};let r=n(t,i.against);if(!r)return{body:e(`app.cli.bot.couldNotFindRef`,{ref:i.against}),upsert:!1,pictures:[]};let a=await q(t,r,o,c);return{body:a.body.replace(l,``).replace(e(`app.cli.report.heading`),e(`app.cli.bot.diagramsChangedSince`,{ref:i.against})),upsert:!1,pictures:a.pictures}}case`check`:{let{changed:n}=r(t,a);if(n.length===0)return{body:e(`app.cli.bot.noDiagramChangedHere`),upsert:!1,pictures:[]};let i=(await s(n.map(e=>e.after),{format:`json`,baseline:!0,updateBaseline:!1})).reported;return i.length===0?{body:e(`app.cli.bot.cleanAgainstTheBaseline`),upsert:!1,pictures:[]}:{body:i.map(e=>`- **${g.relative(t,e.file)}** \`${e.rule}\` ${e.message}`).join(`
9
+ `),upsert:!1,pictures:[]}}case`image`:{let n=i.path?[i.path]:r(t,a).changed.map(e=>e.relative);if(n.length===0)return{body:e(`app.cli.bot.noDiagramToDraw`),upsert:!1,pictures:[]};let s=H(o,c),l=[],u=[];for(let r of n.slice(0,40)){let n=g.join(t,r);if(!v(n)){l.push(e(`app.cli.bot.notInThisChange`,{file:r}));continue}let i=await s.add({relative:r,after:n},{});i?l.push(`**${r}**\n\n![${r}](${i})`):u.push(r)}return u.length>0&&l.push(e(`app.cli.bot.drawnButNotShown`,{files:u.map(e=>`**${e}**`).join(`, `),open:e(`app.cli.bot.openThem`),link:V})),{body:U(l.join(`
10
10
 
11
- `),s.notes),upsert:!1,pictures:s.pictures}}}}function Y(e){return g.join(e.PENSTOCK_BOT_DIR??e.RUNNER_TEMP??_(),`penstock-bot`)}const X=e=>e.body.includes(`<!-- penstock -->`)||e.body.includes(`<!-- penstock-report -->`);async function Z(e,t,n){let r=`${D}\n${G(t.body,n)}`;if(t.upsert){let t=(await e.comments(X)).find(X);if(t){await e.edit(t.id,r);return}}await e.post(r)}async function Q(e,n,r=process.env){try{return await $(e,n,r)}catch(e){return{ok:!1,lines:[t(e)]}}}async function $(t,r,i){let{root:a}=n(t);if(!l(a))return{ok:!1,lines:[e(`app.cli.bot.notAGitCheckout`)]};let c;try{c=B(i)}catch(e){return{ok:!1,lines:[e instanceof Error?e.message:String(e)]}}if(!c)return{ok:!1,lines:[e(`app.cli.bot.unknownCi`)]};let d=Y(i);r!==`post`&&x(d,{recursive:!0,force:!0});let f=await c.ask();if(!f)return{ok:!0,lines:[e(`app.cli.bot.nothingToAnswer`)]};if(r===`post`){let t=g.join(d,`answer.json`);return v(t)?(await Z(c,JSON.parse(b(t,`utf8`)),i.PENSTOCK_PICTURES_URL||c.picturesLink()),{ok:!0,lines:[e(`app.cli.bot.answeredOn`,{platform:c.name})]}):{ok:!0,lines:[e(`app.cli.bot.nothingDrawn`)]}}if(f.refuse){let t={body:f.refuse,upsert:!1,pictures:[]};return r===`draw`?(y(d,{recursive:!0}),S(g.join(d,`answer.json`),JSON.stringify(t)),{ok:!0,lines:[e(`app.cli.bot.refusedSaved`)]}):(await Z(c,t,void 0),{ok:!0,lines:[e(`app.cli.bot.answeredOn`,{platform:c.name})]})}let p=f.command===void 0?{kind:`report`}:T(f.command);if(!p)return{ok:!0,lines:[e(`app.cli.bot.notForPenstock`)]};if(f.head&&!o(a,f.head)&&!u(a,f.head))return{ok:!1,lines:[e(`app.cli.bot.couldNotCheckOut`,{ref:f.head})]};let h=s(a,f.base);if(!h)return{ok:!1,lines:[e(`app.cli.bot.baseNotFound`,{base:f.base})]};y(d,{recursive:!0});let _;try{_=await J(a,p,h,c,d)}catch(t){_={body:e(`app.cli.bot.couldNotDoThat`,{reason:t instanceof Error?t.message:String(t)}),upsert:!1,pictures:[]}}let C=[];if(_.pictures.length>0){let t=g.join(d,`penstock-diagrams.svg`);S(t,m(_.pictures)),C.push(e(`app.cli.bot.drew`,{file:t}))}return r===`draw`?(S(g.join(d,`answer.json`),JSON.stringify(_)),{ok:!0,lines:[...C,e(`app.cli.bot.answerSaved`)]}):(await Z(c,_,i.PENSTOCK_PICTURES_URL||c.picturesLink()),{ok:!0,lines:[...C,e(`app.cli.bot.answeredOn`,{platform:c.name})]})}export{Q as botCommand};
11
+ `),s.notes),upsert:!1,pictures:s.pictures}}}}function Y(e){return g.join(e.PENSTOCK_BOT_DIR??e.RUNNER_TEMP??_(),`penstock-bot`)}const X=e=>e.body.includes(`<!-- penstock -->`)||e.body.includes(`<!-- penstock-report -->`);async function Z(e,t,n){let r=`${D}\n${G(t.body,n)}`;if(t.upsert){let t=(await e.comments(X)).find(X);if(t){await e.edit(t.id,r);return}}await e.post(r)}async function Q(e,t,n=process.env){try{return await $(e,t,n)}catch(e){return{ok:!1,lines:[d(e)]}}}async function $(r,o,s){let{root:c}=u(r);if(!i(c))return{ok:!1,lines:[e(`app.cli.bot.notAGitCheckout`)]};let l;try{l=B(s)}catch(e){return{ok:!1,lines:[e instanceof Error?e.message:String(e)]}}if(!l)return{ok:!1,lines:[e(`app.cli.bot.unknownCi`)]};let d=Y(s);o!==`post`&&x(d,{recursive:!0,force:!0});let p=await l.ask();if(!p)return{ok:!0,lines:[e(`app.cli.bot.nothingToAnswer`)]};if(o===`post`){let t=g.join(d,`answer.json`);return v(t)?(await Z(l,JSON.parse(b(t,`utf8`)),s.PENSTOCK_PICTURES_URL||l.picturesLink()),{ok:!0,lines:[e(`app.cli.bot.answeredOn`,{platform:l.name})]}):{ok:!0,lines:[e(`app.cli.bot.nothingDrawn`)]}}if(p.refuse){let t={body:p.refuse,upsert:!1,pictures:[]};return o===`draw`?(y(d,{recursive:!0}),S(g.join(d,`answer.json`),JSON.stringify(t)),{ok:!0,lines:[e(`app.cli.bot.refusedSaved`)]}):(await Z(l,t,void 0),{ok:!0,lines:[e(`app.cli.bot.answeredOn`,{platform:l.name})]})}let m=p.command===void 0?{kind:`report`}:T(p.command);if(!m)return{ok:!0,lines:[e(`app.cli.bot.notForPenstock`)]};if(p.head&&!t(c,p.head)&&!a(c,p.head))return{ok:!1,lines:[e(`app.cli.bot.couldNotCheckOut`,{ref:p.head})]};let h=n(c,p.base);if(!h)return{ok:!1,lines:[e(`app.cli.bot.baseNotFound`,{base:p.base})]};y(d,{recursive:!0});let _;try{_=await J(c,m,h,l,d)}catch(t){_={body:e(`app.cli.bot.couldNotDoThat`,{reason:t instanceof Error?t.message:String(t)}),upsert:!1,pictures:[]}}let C=[];if(_.pictures.length>0){let t=g.join(d,`penstock-diagrams.svg`);S(t,f(_.pictures)),C.push(e(`app.cli.bot.drew`,{file:t}))}return o===`draw`?(S(g.join(d,`answer.json`),JSON.stringify(_)),{ok:!0,lines:[...C,e(`app.cli.bot.answerSaved`)]}):(await Z(l,_,s.PENSTOCK_PICTURES_URL||l.picturesLink()),{ok:!0,lines:[...C,e(`app.cli.bot.answeredOn`,{platform:l.name})]})}export{Q as botCommand};
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-catalog-CXJ23e-I.js";import{r as t}from"./chunk-say-CtmOlXtN.js";import{r as n}from"./chunk-translator-DNm9zRpP.js";import{r,t as i}from"./chunk-parse-DiOcpdOU.js";import{i as a}from"./chunk-docs-BVmrekiH.js";import{t as o}from"./chunk-report-w7YZwhyg.js";import{t as s}from"./chunk-buffers-B8jONhEB.js";function c(e){return n(`app.cmmn.kind.${e}`)}function l(e){let t=e.id,r=e.target??``;switch(e.rule){case`duplicate-id`:return n(`app.cmmn.finding.duplicateId`,{id:t});case`definition-ref-missing`:return e.target===null?n(`app.cmmn.finding.definitionRefMissing`,{id:t}):n(`app.cmmn.finding.definitionRefUnknown`,{id:t,target:r});case`dangling-sentry-ref`:return e.target===null?n(`app.cmmn.finding.sentryRefMissing`,{id:t}):n(`app.cmmn.finding.danglingSentryRef`,{id:t,target:r});case`dangling-on-part`:return e.target===null?n(`app.cmmn.finding.onPartSourceMissing`,{id:t}):n(`app.cmmn.finding.danglingOnPart`,{id:t,target:r});case`task-without-target`:return n(`app.cmmn.finding.taskWithoutTarget`,{id:t,kind:c(e.target??`task`)});case`no-case-plan-model`:return t===``?n(`app.cmmn.finding.noCase`):n(`app.cmmn.finding.noCasePlanModel`,{id:t});case`plan-truncated`:return e.target===null?n(`app.cmmn.finding.planLimit`,{limit:i}):n(`app.cmmn.finding.planCycle`,{id:t,target:r})}}function u(n){return{rule:n.rule,severity:e[n.rule].severity===`error`?`error`:`warning`,title:t(`cmmn`,n.rule),message:l(n),focus:n.focus,id:n.id}}function d(e){return e.issues.map(u).sort((e,t)=>e.severity===t.severity?0:e.severity===`error`?-1:1)}function f(e){return d(r(s(e))).map(t=>o(`cmmn`,{file:e,rule:t.rule,message:t.message,severity:t.severity,ruleId:`cmmn/${t.rule}`,docs:a(`cmmn/${t.rule}`),title:t.title,...t.focus?{elements:[t.focus]}:{}}))}export{f as cmmnFindingsOf};
@@ -1,4 +1,4 @@
1
- import{r as e}from"./chunk-translator-DNm9zRpP.js";import{t}from"./chunk-own-Cn7Ki4ij.js";import{_ as n,n as r}from"./chunk-engine-CxgdJ2wO.js";import{c as i,i as a,r as o,u as s}from"./chunk-codeScan-C09My9xv.js";import{i as c}from"./chunk-types-mxHL9XQt.js";import{i as l,n as u,o as d,r as f,s as p,t as ee}from"./chunk-workerVariables-CajAcbwl.js";import{i as m,o as h,t as te}from"./chunk-codeIndex-N1gnP_sW.js";import{a as g,o as ne,r as _,s as re}from"./chunk-convert-HbFpg8ab.js";import ie from"node:path";const ae=[`spring`,`java`,`node`,`python`],oe={create:`creating`,assignment:`assigning`,update:`updating`,complete:`completing`,delete:`canceling`};function v(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).split(/[^A-Za-z0-9]+/).filter(Boolean)}function y(e){let t=v(e).map(e=>e.toLowerCase()).map((e,t)=>t===0?e:e[0].toUpperCase()+e.slice(1)).join(``);return/^[A-Za-z_]/.test(t)?t:`worker${t}`}function b(e){let t=y(e);return t[0].toUpperCase()+t.slice(1)}function se(e){let t=v(e).map(e=>e.toLowerCase()).join(`_`);return/^[a-z_]/.test(t)?t:`worker_${t}`}function ce(e){return v(e).map(e=>e.toLowerCase()).join(`-`)||`worker`}function x(e){return JSON.stringify(e)}const S=/* @__PURE__ */ new Set(/* @__PURE__ */ `abstract.assert.boolean.break.byte.case.catch.char.class.const.continue.default.do.double.else.enum.extends.final.finally.float.for.goto.if.implements.import.instanceof.int.interface.long.native.new.package.private.protected.public.return.short.static.strictfp.super.switch.synchronized.this.throw.throws.transient.try.void.volatile.while.true.false.null`.split(`.`));function C(e,t=[]){let n=e.replace(/[^A-Za-z0-9_]/g,`_`),r=/^[A-Za-z_]/.test(n)?n:`_${n}`;return S.has(r)||t.includes(r)?`${r}_`:r}const le=[`client`,`job`,`variables`,`result`],ue=/* @__PURE__ */ new Set([...S,`let`,`var`,`function`,`typeof`,`delete`,`in`,`of`,`with`,`yield`,`await`,`async`,`undefined`,`job`,`zeebe`,`camunda`]);function w(e){let t=e.replace(/[^A-Za-z0-9_$]/g,`_`),n=/^[A-Za-z_$]/.test(t)?t:`_${t}`;return ue.has(n)?`${n}_`:n}function T(e){return y(e.toLowerCase())}function E(e){return/Worker$/.test(e)?`${e.slice(0,-6)}Camunda8Worker`:`${e}Worker`}function de(e,t,n){let r=c(n,`8.8`),i=E(t?.className||b(e.jobType)),a=y(e.jobType),o=t?.reads??[],s=t?.writes??[],l=t?.errors??[],u=r?`CamundaBpmnError`:`ZeebeBpmnError`,d=[r?`io.camunda.client.annotation.JobWorker`:`io.camunda.zeebe.spring.client.annotation.JobWorker`,...o.length>0?[r?`io.camunda.client.annotation.Variable`:`io.camunda.zeebe.spring.client.annotation.Variable`]:[],...l.length>0?[r?`io.camunda.client.exception.CamundaBpmnError`:`io.camunda.zeebe.spring.client.exception.ZeebeBpmnError`]:[],`java.util.HashMap`,`java.util.Map`,`org.springframework.stereotype.Component`].sort(),f=o.map(e=>` @Variable(name = ${x(e)}) Object ${C(e)}`).join(`,
1
+ import{r as e}from"./chunk-translator-DNm9zRpP.js";import{t}from"./chunk-own-Cn7Ki4ij.js";import{_ as n,n as r}from"./chunk-engine-CxgdJ2wO.js";import{c as i,i as a,r as o,u as s}from"./chunk-codeScan-C09My9xv.js";import{i as c}from"./chunk-types-mxHL9XQt.js";import{i as l,n as u,o as d,r as f,s as p,t as ee}from"./chunk-workerVariables-CNnCRijJ.js";import{i as m,o as h,t as te}from"./chunk-codeIndex-vStNh6Bm.js";import{a as g,o as ne,r as _,s as re}from"./chunk-convert-Ce1MZmsE.js";import ie from"node:path";const ae=[`spring`,`java`,`node`,`python`],oe={create:`creating`,assignment:`assigning`,update:`updating`,complete:`completing`,delete:`canceling`};function v(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).split(/[^A-Za-z0-9]+/).filter(Boolean)}function y(e){let t=v(e).map(e=>e.toLowerCase()).map((e,t)=>t===0?e:e[0].toUpperCase()+e.slice(1)).join(``);return/^[A-Za-z_]/.test(t)?t:`worker${t}`}function b(e){let t=y(e);return t[0].toUpperCase()+t.slice(1)}function se(e){let t=v(e).map(e=>e.toLowerCase()).join(`_`);return/^[a-z_]/.test(t)?t:`worker_${t}`}function ce(e){return v(e).map(e=>e.toLowerCase()).join(`-`)||`worker`}function x(e){return JSON.stringify(e)}const S=/* @__PURE__ */ new Set(/* @__PURE__ */ `abstract.assert.boolean.break.byte.case.catch.char.class.const.continue.default.do.double.else.enum.extends.final.finally.float.for.goto.if.implements.import.instanceof.int.interface.long.native.new.package.private.protected.public.return.short.static.strictfp.super.switch.synchronized.this.throw.throws.transient.try.void.volatile.while.true.false.null`.split(`.`));function C(e,t=[]){let n=e.replace(/[^A-Za-z0-9_]/g,`_`),r=/^[A-Za-z_]/.test(n)?n:`_${n}`;return S.has(r)||t.includes(r)?`${r}_`:r}const le=[`client`,`job`,`variables`,`result`],ue=/* @__PURE__ */ new Set([...S,`let`,`var`,`function`,`typeof`,`delete`,`in`,`of`,`with`,`yield`,`await`,`async`,`undefined`,`job`,`zeebe`,`camunda`]);function w(e){let t=e.replace(/[^A-Za-z0-9_$]/g,`_`),n=/^[A-Za-z_$]/.test(t)?t:`_${t}`;return ue.has(n)?`${n}_`:n}function T(e){return y(e.toLowerCase())}function E(e){return/Worker$/.test(e)?`${e.slice(0,-6)}Camunda8Worker`:`${e}Worker`}function de(e,t,n){let r=c(n,`8.8`),i=E(t?.className||b(e.jobType)),a=y(e.jobType),o=t?.reads??[],s=t?.writes??[],l=t?.errors??[],u=r?`CamundaBpmnError`:`ZeebeBpmnError`,d=[r?`io.camunda.client.annotation.JobWorker`:`io.camunda.zeebe.spring.client.annotation.JobWorker`,...o.length>0?[r?`io.camunda.client.annotation.Variable`:`io.camunda.zeebe.spring.client.annotation.Variable`]:[],...l.length>0?[r?`io.camunda.client.exception.CamundaBpmnError`:`io.camunda.zeebe.spring.client.exception.ZeebeBpmnError`]:[],`java.util.HashMap`,`java.util.Map`,`org.springframework.stereotype.Component`].sort(),f=o.map(e=>` @Variable(name = ${x(e)}) Object ${C(e)}`).join(`,
2
2
  `),p=[...t?.packageName?[`package ${t.packageName};`,``]:[],...d.map(e=>`import ${e};`),``,`@Component`,`public class ${i} {`,``,` @JobWorker(type = ${x(e.jobType)})`,` public Map<String, Object> ${a}(${f?`\n${f}`:``}) {`,` Map<String, Object> result = new HashMap<>();`,...s.map(e=>` result.put(${x(e)}, null);`),` return result;`,` }`,...l.flatMap(e=>[``,` private static ${u} ${T(e.code)}(String message) {`,` return new ${u}(${x(e.code)}, message);`,` }`]),`}`];return{fileName:`${i}.java`,content:`${p.join(`
3
3
  `)}\n`,language:`spring`}}function fe(e,t,n){let r=c(n,`8.8`),i=E(t?.className||b(e.jobType)),a=t?.reads??[],o=t?.writes??[],s=t?.errors??[],l=r?`io.camunda.client`:`io.camunda.zeebe.client`,u=r?`CamundaClient`:`ZeebeClient`,d=[`${l}.${u}`,`${l}.api.response.ActivatedJob`,`${l}.api.worker.JobClient`,`${l}.api.worker.JobWorker`,`java.util.HashMap`,`java.util.Map`].sort(),f=a.map(e=>C(e,le)),p=[...t?.packageName?[`package ${t.packageName};`,``]:[],...d.map(e=>`import ${e};`),``,`public class ${i} {`,``,` public static final String JOB_TYPE = ${x(e.jobType)};`,``,` public static JobWorker register(${u} client) {`,` return client.newWorker().jobType(JOB_TYPE).handler(${i}::handle).open();`,` }`,``,` static void handle(JobClient client, ActivatedJob job) {`,` Map<String, Object> variables = job.getVariablesAsMap();`,...a.map((e,t)=>` Object ${f[t]} = variables.get(${x(e)});`),` Map<String, Object> result = new HashMap<>();`,...o.map(e=>` result.put(${x(e)}, null);`),` client.newCompleteCommand(job.getKey()).variables(result).send().join();`,` }`,...s.flatMap(e=>[``,` static void ${T(e.code)}(JobClient client, ActivatedJob job, String message) {`,` client.newThrowErrorCommand(job.getKey()).errorCode(${x(e.code)}).errorMessage(message).send().join();`,` }`]),`}`];return{fileName:`${i}.java`,content:`${p.join(`
4
4
  `)}\n`,language:`java`}}function pe(e,t){let n=t?.reads??[],r=t?.writes??[],i=t?.errors??[],a=r.length>0?`{ ${r.map(e=>`${/^[A-Za-z_$][\w$]*$/.test(e)?e:JSON.stringify(e)}: undefined`).join(`, `)} }`:`{}`,o=[`import { Camunda8 } from '@camunda8/sdk';`,``,`const camunda = new Camunda8();`,`const zeebe = camunda.getZeebeGrpcApiClient();`,``,`zeebe.createWorker({`,` taskType: ${JSON.stringify(e.jobType).replace(/^"|"$/g,`'`)},`,` taskHandler: async (job) => {`,...n.length>0?n.every(e=>w(e)===e)?[` const { ${n.join(`, `)} } = job.variables;`]:n.map(e=>` const ${w(e)} = job.variables[${JSON.stringify(e)}];`):[],...i.map(e=>` // return job.error('${e.code}', ${JSON.stringify(e.message??`TODO`)});`),` return job.complete(${a});`,` },`,`});`];return{fileName:`${ce(e.jobType)}.worker.ts`,content:`${o.join(`
@@ -4,4 +4,4 @@ import{c as e}from"./chunk-codeScan-C09My9xv.js";import{createRequire as t}from"
4
4
  `);n>=0;n=e.indexOf(`
5
5
  `,n+1))t.push(n+1);return n=>{let r=Math.min(Math.max(n,0),e.length),i=0,a=t.length-1;for(;i<a;){let e=i+a+1>>1;t[e]<=r?i=e:a=e-1}return i+1}}function ie(e){let t=[0];for(let n=e.indexOf(`
6
6
  `);n>=0;n=e.indexOf(`
7
- `,n+1))t.push(n+1);return t}function ae(e,t){let n=0,r=e.length-1;for(;n<r;){let i=n+r+1>>1;e[i]<=t?n=i:r=i-1}return n+1}const oe=/* @__PURE__ */ new Set([`setVariable`,`setVariableLocal`,`putValue`,`putValueTyped`,`variable`]),se=new Map([...[`startProcessInstanceByKey`,`createProcessInstanceByKey`,`startProcessInstanceByKeyAndTenantId`,`processDefinitionKey`,`bpmnProcessId`].map(e=>[e,{kind:`PROCESS`}]),...[`isWaitingAt`,`isNotWaitingAt`,`hasPassed`,`hasNotPassed`,`hasPassedInOrder`,`hasPassedElement`,`hasNotPassedElement`,`hasPassedElementsInOrder`,`hasCompletedElements`,`hasCompletedElementsInOrder`,`hasActiveElements`,`hasTerminatedElements`,`hasNotActivatedElements`,`hasActivatedElements`,`isActiveAt`,`byId`,`startBeforeActivity`,`startAfterActivity`,`cancelAllForActivity`,`activityId`,`taskDefinitionKey`,`elementId`,`hasActiveElement`].map(e=>[e,{kind:`ELEMENT`}]),...[`correlateMessage`,`createMessageCorrelation`,`messageName`,`correlateMessageAsync`].map(e=>[e,{kind:`MESSAGE`}]),...[`evaluateDecisionByKey`,`evaluateDecisionTableByKey`,`decisionKey`,`decisionId`,`decisionDefinitionKey`].map(e=>[e,{kind:`DECISION`}]),...[`getVariable`,`getVariableLocal`,`getVariableTyped`,`getVariableLocalTyped`,`setVariable`,`setVariableLocal`,`removeVariable`,`removeVariableLocal`,`hasVariable`,`hasVariableLocal`,`putValue`,`putValueTyped`,`variable`,`hasVariableNames`,`hasLocalVariable`,`hasLocalVariableNames`,`hasVariableWithValue`,`hasVariableSatisfies`].map(e=>[e,{kind:`VARIABLE`,writes:oe.has(e)}]),[`handleBpmnError`,{kind:`ERROR`,at:1}],[`errorCode`,{kind:`ERROR`}],[`bpmnError`,{kind:`ERROR`}]]),ce=/* @__PURE__ */ new Set([`Component`,`Service`,`Named`,`Repository`,`Controller`,`RestController`,`Configuration`]),le=/* @__PURE__ */ new Set([`class`,`interface`,`enum`,`record`,`struct`]),ue=/* @__PURE__ */ new Set([`JobWorker`,`ZeebeWorker`]),de=/* @__PURE__ */ new Set([`BpmnError`,`ZeebeBpmnError`]),fe=/^[A-Za-z_]\w*$/,pe=/^[A-Za-z_][\w.]*$/;function me(){let e={jobTypes:/* @__PURE__ */ new Map,topics:/* @__PURE__ */ new Map,classes:/* @__PURE__ */ new Map,beans:/* @__PURE__ */ new Map,references:/* @__PURE__ */ new Map,unresolved:[]},t=/* @__PURE__ */ new Map,n=[];return{add(r){for(let e of r.facts.constants)t.set(e.name,e.value);n.push(...he(r,e))},finish(){for(let r of n){let n=t.get(r.raw);n===void 0?e.unresolved.push(r.place):f(e[r.sink],n,r.place)}return e}}}function he(t,n){let{facts:r}=t,i=re(t.text),a=e=>({file:r.path,line:i(e),offset:e}),o=[],s=(e,t,i)=>{if(t.value!==null){f(n[e],t.value,a(i));return}let s=fe.test(t.text)?ve(r,t.text,i):null;s===null?o.push({place:a(i),raw:t.text.split(`.`).pop()??t.text,sink:e}):f(n[e],s,a(i))},c=(t,r,i,o=!1)=>{f(n.references,e({kind:t,value:r}),o?{...a(i),writes:o}:a(i))},l=/* @__PURE__ */ new Map;for(let e of r.declarations){if(!le.has(e.kind))continue;let t=r.package?`${r.package}.${e.name}`:e.name,i=a(e.at);n.classes.has(t)||n.classes.set(t,i);let o=e.annotations.filter(e=>ce.has(e.name)).at(-1);o!==void 0&&l.set(_e(o)??ye(e.name),i)}for(let e of r.callables)e.annotations.some(e=>e.name===`Bean`)&&l.set(e.name,a(e.at));for(let[e,t]of l)n.beans.has(e)||n.beans.set(e,t);for(let e of r.callables)for(let t of e.annotations.filter(e=>ue.has(e.name))){let r=t.arguments.find(e=>e.name===`type`);r===void 0?f(n.jobTypes,e.name,a(t.at)):s(`jobTypes`,r,t.at)}for(let e of r.declarations)for(let t of e.annotations.filter(e=>ue.has(e.name))){let e=t.arguments.find(e=>e.name===`type`);e!==void 0&&s(`jobTypes`,e,t.at)}for(let e of ge(r)){if(e.name===`ExternalTaskSubscription`){let t=e.arguments.find(e=>e.name===`topicName`)??e.arguments.find(e=>e.name===null);t!==void 0&&s(`topics`,t,e.at)}if(e.name===`Variable`){let t=e.arguments.find(e=>e.name===null||e.name===`name`||e.name===`value`);t?.value!=null&&c(`VARIABLE`,t.value,e.at)}}for(let e of r.calls){let t=se.get(e.name);if(t!==void 0){let n=t.at===void 0?e.arguments:e.arguments.slice(t.at,t.at+1);for(let e of n)e.value!==null&&c(t.kind,e.value,e.at,t.writes)}if(e.name.toLowerCase()===`jobtype`&&e.receiver!==null&&d(e,0,e=>s(`jobTypes`,e,e.at)),e.name===`subscribe`&&e.receiver!==null&&d(e,0,e=>{u(e)&&s(`topics`,e,e.at)}),e.name===`createWorker`&&d(e,0,e=>{e.value!==null&&f(n.jobTypes,e.value,a(e.at))}),e.name===`createJobWorker`){let t=r.pairs.find(t=>t.key===`type`&&t.at>=e.span.from&&t.at<e.span.to);t!==void 0&&u(t.value)&&s(`jobTypes`,t.value,t.at)}for(let t of e.arguments.filter(e=>e.name===`task_type`))u(t)&&s(`jobTypes`,t,t.at)}for(let e of r.locals.filter(e=>e.name===`task_type`))e.initializer!==null&&u(e.initializer)&&s(`jobTypes`,e.initializer,e.at);for(let e of r.constants.filter(e=>e.name===`task_type`))f(n.jobTypes,e.value,a(e.at));for(let e of r.pairs.filter(e=>e.key===`taskType`))u(e.value)&&s(`jobTypes`,e.value,e.at);for(let e of r.constructions.filter(e=>de.has(e.type.split(`.`).pop()??e.type)))d(e,0,e=>{e.value!==null&&c(`ERROR`,e.value,e.at)});return o}function ge(e){return[...e.declarations.flatMap(e=>[...e.annotations,...e.members.filter(e=>e.kind!==`method`).flatMap(e=>e.annotations)]),...e.callables.flatMap(e=>[...e.annotations,...e.parameters.flatMap(e=>e.annotations)])]}function _e(e){return e.arguments.find(e=>e.name===null||e.name===`value`)?.value??null}function u(e){return e.value!==null||pe.test(e.text)}function d(e,t,n){let r=e.arguments[t];r!==void 0&&n(r)}function ve(e,t,n){return e.locals.filter(e=>e.name===t&&e.at<=n&&e.initializer?.value!=null).at(-1)?.initializer?.value??null}function ye(e){return e.length>1&&e[1]===e[1].toUpperCase()&&/[A-Z]/.test(e[1])?e:e[0].toLowerCase()+e.slice(1)}function f(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}const be=/* @__PURE__ */ new Map([[`java`,`java`],[`kt`,`kotlin`],[`kts`,`kotlin`],[`ts`,`typescript`],[`js`,`javascript`],[`mjs`,`javascript`],[`cjs`,`javascript`],[`py`,`python`],[`go`,`go`],[`cs`,`csharp`],[`groovy`,`groovy`],[`scala`,`scala`]]);function p(e){let t=e.lastIndexOf(`.`);return t<0?null:be.get(e.slice(t+1))??null}function xe(e,t){return n.join(e,t.slice(0,2),`${t}.json`)}function Se(e){return{async read(t){try{return JSON.parse(await c(xe(e,t),`utf8`))}catch{return null}},async write(t,r){let i=xe(e,t);try{await s(n.dirname(i),{recursive:!0});let e=`${i}.${process.pid}.${o()}.tmp`;await ee(e,JSON.stringify(r)),await l(e,i)}catch{return}}}}const Ce={java:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-java.wasm`},kotlin:{package:`@tree-sitter-grammars/tree-sitter-kotlin`,file:`tree-sitter-kotlin.wasm`},typescript:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-typescript.wasm`},javascript:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-javascript.wasm`},python:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-python.wasm`},go:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-go.wasm`},csharp:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-c-sharp.wasm`},groovy:{package:`tree-sitter-groovy`,file:`tree-sitter-groovy.wasm`},scala:{package:`tree-sitter-scala`,file:`tree-sitter-scala.wasm`}},we=`web-tree-sitter.wasm`;function Te(e){let t=Object.fromEntries(Object.entries(Ce).map(([t,{file:r}])=>[t,n.join(e,n.basename(r))]));return{runtimeFile:n.join(e,we),grammarFiles:t}}function Ee(){let e=n.join(import.meta.dirname,`grammars`);if(i(n.join(e,we)))return Te(e);let r=t(import.meta.url),a=Object.fromEntries(Object.entries(Ce).map(([e,{package:t,file:n}])=>[e,r.resolve(`${t}/${n}`)]));return{runtimeFile:r.resolve(`web-tree-sitter/web-tree-sitter.wasm`),grammarFiles:a}}const De=/* @__PURE__ */ new Set([`string`,`string_literal`,`interpreted_string_literal`,`raw_string_literal`]),Oe=/* @__PURE__ */ new Set([`array`,`array_literal`,`list`,`collection_literal`,`element_value_array_initializer`,`array_initializer`]),ke=[`"""`,`'''`,`"`,`'`,"`"],Ae=/* @__PURE__ */ new Set([`identifier`,`property_identifier`,`field_identifier`,`shorthand_property_identifier`]),je={attribute:`attribute`,selector_expression:`field`,member_access_expression:`name`,field_expression:`field`,member_expression:`property`},m=e=>({from:e.startIndex,to:e.endIndex}),h=(e,t)=>e.children.filter(e=>e.type===t),g=(e,t)=>e.children.find(e=>e.type===t)??null,_=(e,t)=>e.childForFieldName(t),v=e=>e?.text??null,y=e=>e.type.includes(`comment`),b=(e,t)=>t!==null&&e.type===t.type&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex;function x(e){return e.type===`generic_type`||e.type===`generic_name`?e.firstNamedChild?.text??e.text:e.text}function S(e){if(e===null||!De.has(e.type))return null;let t=e.text;for(let e of ke)if(t.length>=e.length*2&&t.startsWith(e)&&t.endsWith(e))return t.slice(e.length,-e.length);return null}function Me(e){return Oe.has(e.type)?e.namedChildren.flatMap(e=>S(e)??[]):null}function Ne(e){let t=je[e.type];return t===void 0?null:_(e,t)?.text??null}function C(e,t){return{text:e.text,value:S(e),values:Me(e),identifier:Ae.has(e.type)?e.text:null,reference:Ne(e),constructs:t(e),span:m(e)}}function w(e,t,n){return{...C(e,n),name:t,at:e.startIndex}}function T(e,t,n,r){let i=S(e);return{key:i??e.text,quoted:i!==null,at:e.startIndex,object:n.startIndex,value:C(t,r)}}function E(e,t,n,r){return{receiver:t.text,name:n?.text??null,key:S(r),keyAt:S(r)===null?null:r?.startIndex??null,at:e.startIndex,span:m(e)}}function D(e){return e.sort((e,t)=>e.at-t.at)}function Pe(e,t){return{name:_(e,`name`)?.text??e.text.replace(/^@/,``),at:e.startIndex,arguments:t(e)}}const Fe=/* @__PURE__ */ new WeakMap,Ie=/* @__PURE__ */ new WeakMap;function Le(e){let t=Fe.get(e);if(t===void 0){t=/* @__PURE__ */ new Map;let n=[e.rootNode];for(let e=n.pop();e!==void 0;e=n.pop())for(let r of e.children)t.set(r.id,e),n.push(r);Fe.set(e,t)}return t}function O(e){return Le(e.tree).get(e.id)??null}function Re(e,t){let n=Ie.get(e);n===void 0&&(n=/* @__PURE__ */ new Map,Ie.set(e,n));let r=n.get(t);return r===void 0&&(r=/* @__PURE__ */ new Map,n.set(t,r)),r}function ze(e,t){let n=Re(e.tree,t),r=Le(e.tree),i=[],a=e;for(;a!==null&&!n.has(a.id);)i.push(a),a=r.get(a.id)??null;let o=a,s=a===null?null:n.get(a.id)??null;for(let e=i.length-1;e>=0;--e){let r=o!==null&&t.has(o.type)?o:s;n.set(i[e].id,r),o=i[e],s=r}return n.get(e.id)??null}function k(e,t){let n=ze(e,t);return n===null?null:_(n,`name`)?.text??null}function A(e,t){return ze(e,t)!==null}const Be=/* @__PURE__ */ new Set([`method_declaration`,`local_function_statement`,`constructor_declaration`]),Ve=/* @__PURE__ */ new Set([`member_access_expression`,`element_access_expression`]),He=/* @__PURE__ */ new Set([`object_creation_expression`,`implicit_object_creation_expression`]),Ue={class_declaration:`class`,record_declaration:`record`,struct_declaration:`struct`,enum_declaration:`enum`};function j(e){let t=e.type===`object_creation_expression`?_(e,`type`):null;return t===null?null:x(t)}const We=e=>e===null?null:C(e,j);function Ge(e){return(g(e,`attribute_argument_list`)?.namedChildren??[]).map(e=>{let t=g(e,`name_equals`);return{...C(e.namedChildren.find(e=>e.type!==`name_equals`)??e,j),name:t?.namedChildren[0]?.text??null,at:e.startIndex}})}function M(e){return h(e,`attribute_list`).flatMap(e=>h(e,`attribute`).map(e=>({name:_(e,`name`)?.text??e.text,at:e.startIndex,arguments:Ge(e)})))}function N(e){return h(e,`modifier`).map(e=>e.text)}function Ke(e){let t=_(e,`name`);return t===null?[]:[{kind:`field`,name:t.text,type:_(e,`type`)?.text??null,at:t.startIndex,modifiers:N(e),annotations:M(e),arity:0,tag:null}]}function qe(e){let t=g(e,`variable_declaration`);if(t===null)return[];let n=_(t,`type`)?.text??null;return h(t,`variable_declarator`).flatMap(t=>{let r=_(t,`name`);return r===null?[]:[{kind:`field`,name:r.text,type:n,at:r.startIndex,modifiers:N(e),annotations:M(e),arity:0,tag:null}]})}function Je(e){return e.namedChildren.filter(e=>e.type===`parameter`).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[{kind:`parameter`,name:t.text,type:_(e,`type`)?.text??null,at:t.startIndex,modifiers:[],annotations:M(e),arity:0,tag:null}]})}function Ye(e){return e.namedChildren.flatMap(e=>e.type===`property_declaration`?Ke(e):e.type===`field_declaration`?qe(e):[])}function Xe(e){return(g(e,`base_list`)?.namedChildren??[]).map(e=>({name:x(e),relation:`extends`}))}function Ze(e,t){let n=_(e,`name`);if(n===null)return null;let r=_(e,`body`),i=g(e,`parameter_list`),a=[...i===null?[]:Je(i),...r===null||t===`enum`?[]:Ye(r)];return{kind:t,name:n.text,at:n.startIndex,span:m(e),modifiers:N(e),annotations:M(e),supertypes:Xe(e),generic:g(e,`type_parameter_list`)!==null,members:a,constants:t===`enum`&&r!==null?h(r,`enum_member_declaration`).map(e=>_(e,`name`)?.text??``).filter(e=>e!==``):[]}}function Qe(e){return e.descendantsOfType(Object.keys(Ue)).flatMap(e=>Ze(e,Ue[e.type])??[])}const $e=/* @__PURE__ */ new Set([`class_declaration`,`record_declaration`,`struct_declaration`]),et={method_declaration:`method`,constructor_declaration:`constructor`};function tt(e){return(e?.namedChildren??[]).filter(e=>e.type===`parameter`).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[{name:t.text,type:v(_(e,`type`)),at:t.startIndex,annotations:M(e)}]})}function nt(e){return e.descendantsOfType(Object.keys(et)).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[{kind:et[e.type],name:t.text,at:t.startIndex,span:m(e),owner:k(e,$e),annotations:M(e),parameters:tt(_(e,`parameters`)),returnType:v(_(e,`returns`))}]})}function rt(){return null}function it(e){return e.descendantsOfType(`variable_declaration`).filter(e=>O(e)?.type===`local_declaration_statement`&&A(e,Be)).flatMap(e=>{let t=_(e,`type`);return h(e,`variable_declarator`).flatMap(e=>{let n=_(e,`name`);if(n===null)return[];let r=e.namedChildren.find(e=>!b(e,n))??null;return[{name:n.text,key:null,type:t===null||t.type===`implicit_type`?null:t.text,at:n.startIndex,initializer:We(r)}]})})}function at(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:m(e),expression:We(e.namedChildren.find(e=>!y(e))??null)}))}function ot(e){let t=O(e);return t!==null&&Ve.has(t.type)&&b(e,_(t,`expression`))}function st(e){let t=O(e);return t===null?!1:ot(e)||t.type===`invocation_expression`&&b(e,_(t,`function`))}function ct(e){let t=_(e,`expression`);if(t===null)return[];if(e.type===`element_access_expression`)return[E(e,t,null,_(e,`subscript`)?.namedChildren[0]?.namedChildren[0]??null)];let n=_(e,`name`);return n===null?[]:[E(e,t,n,null)]}function lt(e){return D(e.descendantsOfType([...Ve]).filter(e=>!st(e)).flatMap(ct))}function ut(e){return D(e.descendantsOfType([...Ve]).filter(ot).flatMap(ct))}function dt(e){let t=O(e);return t!==null&&He.has(t.type)?t:e}function ft(e){let t=O(e);if(t===null||t.type!==`initializer_expression`)return[];if(e.type===`initializer_expression`&&e.namedChildren.length===2){let[n,r]=e.namedChildren;return[T(n,r,dt(t),j)]}let n=_(e,`left`),r=_(e,`right`);return e.type===`assignment_expression`&&n?.type===`identifier`&&r!==null?[T(n,r,dt(t),j)]:[]}function pt(e){return D(e.descendantsOfType([`initializer_expression`,`assignment_expression`]).flatMap(ft))}function mt(e){return(e?.namedChildren??[]).filter(e=>e.type===`argument`).map(e=>{let t=g(e,`name_colon`);return w(e.namedChildren.find(e=>e.type!==`name_colon`)??e,t?.namedChildren[0]?.text??null,j)})}function ht(e){let t=_(e,`function`);if(t===null)return null;let n=t.type===`member_access_expression`,r=n?_(t,`name`):t,i=r?.type===`generic_name`?r.firstNamedChild:r;return i==null||i.type!==`identifier`?null:{receiver:n?v(_(t,`expression`)):null,name:i.text,arguments:mt(_(e,`arguments`)),at:i.startIndex,span:m(e),within:k(e,Be)}}function gt(e){return e.descendantsOfType(`invocation_expression`).flatMap(e=>ht(e)??[])}function _t(e){return e.descendantsOfType(`object_creation_expression`).flatMap(e=>{let t=_(e,`type`);return t===null?[]:[{type:x(t),arguments:mt(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,Be)}]})}function vt(e){return e.descendantsOfType(`using_directive`).flatMap(e=>{let t=e.namedChildren.filter(e=>e.type===`identifier`||e.type===`qualified_name`).at(-1);return t===void 0?[]:[{name:t.text,at:t.startIndex}]})}function yt(e){return e.descendantsOfType(`field_declaration`).flatMap(e=>{if(!N(e).includes(`const`))return[];let t=k(e,$e),n=g(e,`variable_declaration`);return n===null?[]:h(n,`variable_declarator`).flatMap(e=>{let n=_(e,`name`),r=S(e.namedChildren.at(-1)??null);return n===null||r===null?[]:[{name:n.text,value:r,owner:t,at:n.startIndex}]})})}const bt=/* @__PURE__ */ new Set([`function_declaration`,`method_declaration`,`func_literal`]),xt=/* @__PURE__ */ new Set([`selector_expression`,`index_expression`]);function St(e){let t=e.type===`unary_expression`?e.namedChildren[0]??null:e;return t?.type===`composite_literal`?v(_(t,`type`)):null}const Ct=e=>e===null?null:C(e,St);function wt(e){return e===null?null:e.text.slice(1,-1)}function Tt(e){return e.namedChildren.filter(e=>e.type===`field_declaration`).flatMap(e=>{let t=_(e,`type`),n=wt(_(e,`tag`)),r=h(e,`field_identifier`);return r.length===0?t===null?[]:[{kind:`embedded`,name:t.text,type:t.text,at:t.startIndex,modifiers:[],annotations:[],arity:0,tag:n}]:r.map(e=>({kind:`field`,name:e.text,type:t?.text??null,at:e.startIndex,modifiers:[],annotations:[],arity:0,tag:n}))})}function Et(e){let t=_(e,`name`),n=_(e,`type`);if(t===null||n===null||n.type!==`struct_type`)return null;let r=g(n,`field_declaration_list`);return{kind:`struct`,name:t.text,at:t.startIndex,span:m(e),modifiers:[],annotations:[],supertypes:[],generic:_(e,`type_parameters`)!==null,members:r===null?[]:Tt(r),constants:[]}}function Dt(e){return e.descendantsOfType(`type_spec`).flatMap(e=>Et(e)??[])}function Ot(e){let t=_(e,`receiver`)?.namedChildren[0]??null,n=t===null?null:_(t,`type`);return n===null?null:n.text.replace(/^\*/,``)}function kt(e){return(e?.namedChildren??[]).flatMap(e=>{if(e.type!==`parameter_declaration`&&e.type!==`variadic_parameter_declaration`)return[];let t=v(_(e,`type`));return h(e,`identifier`).map(e=>({name:e.text,type:t,at:e.startIndex,annotations:[]}))})}function At(e){return e.descendantsOfType([`function_declaration`,`method_declaration`]).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=e.type===`method_declaration`;return[{kind:n?`method`:`function`,name:t.text,at:t.startIndex,span:m(e),owner:n?Ot(e):null,annotations:[],parameters:kt(_(e,`parameters`)),returnType:v(_(e,`result`))}]})}function jt(e){return g(e.namedChildren.find(e=>e.type===`package_clause`)??e,`package_identifier`)?.text??null}function Mt(e){let t=[];for(let n of e.descendantsOfType(`short_var_declaration`).filter(e=>A(e,bt))){let e=_(n,`right`)?.namedChildren??[];_(n,`left`)?.namedChildren.forEach((n,r)=>{n.type===`identifier`&&t.push({name:n.text,key:null,type:null,at:n.startIndex,initializer:Ct(e[r]??null)})})}for(let n of e.descendantsOfType(`var_spec`).filter(e=>A(e,bt))){let e=_(n,`value`)?.namedChildren??[],r=v(_(n,`type`));h(n,`identifier`).forEach((n,i)=>t.push({name:n.text,key:null,type:r,at:n.startIndex,initializer:Ct(e[i]??null)}))}return t.sort((e,t)=>e.at-t.at)}function Nt(e){return e.descendantsOfType(`return_statement`).map(e=>{let t=e.namedChildren[0]??null,n=t?.type===`expression_list`?t.namedChildren.length===1?t.namedChildren[0]:null:t;return{at:e.startIndex,span:m(e),expression:Ct(n)}})}function Pt(e){let t=O(e);return t!==null&&xt.has(t.type)&&b(e,_(t,`operand`))}function Ft(e){let t=O(e);return t===null?!1:Pt(e)||t.type===`call_expression`&&b(e,_(t,`function`))}function It(e){let t=_(e,`operand`);if(t===null)return[];if(e.type===`index_expression`)return[E(e,t,null,_(e,`index`))];let n=_(e,`field`);return n===null?[]:[E(e,t,n,null)]}function Lt(e){return D(e.descendantsOfType([...xt]).filter(e=>!Ft(e)).flatMap(It))}function Rt(e){return D(e.descendantsOfType([...xt]).filter(Pt).flatMap(It))}function zt(e){let t=O(e)??e,n=O(t);return n?.type===`composite_literal`?n:t}function Bt(e){return e.descendantsOfType(`keyed_element`).flatMap(e=>{let t=_(e,`key`)?.namedChildren[0]??null,n=_(e,`value`)?.namedChildren[0]??null;return t===null||n===null?[]:[T(t,n,zt(e),St)]})}function Vt(e){return(e?.namedChildren??[]).filter(e=>!y(e)).map(e=>w(e,null,St))}function Ht(e){let t=_(e,`function`);if(t===null)return null;let n=t.type===`selector_expression`,r=n?_(t,`field`):t;return r===null||r.type!==`identifier`&&r.type!==`field_identifier`?null:{receiver:n?v(_(t,`operand`)):null,name:r.text,arguments:Vt(_(e,`arguments`)),at:r.startIndex,span:m(e),within:k(e,bt)}}function Ut(e){return e.descendantsOfType(`call_expression`).flatMap(e=>Ht(e)??[])}function Wt(e){return e.descendantsOfType(`import_spec`).flatMap(e=>{let t=_(e,`path`),n=S(t);return t===null||n===null?[]:[{name:n,at:t.startIndex}]})}function Gt(e){return e.descendantsOfType(`const_spec`).flatMap(e=>{let t=_(e,`name`),n=S(_(e,`value`)?.namedChildren.at(0)??null);return t===null||n===null?[]:[{name:t.text,value:n,owner:null,at:t.startIndex}]})}const Kt={class_declaration:`class`,record_declaration:`record`,enum_declaration:`enum`,interface_declaration:`interface`},qt=/* @__PURE__ */ new Set([`annotation`,`marker_annotation`]);function P(e){let t=e.type===`object_creation_expression`?_(e,`type`):null;return t===null?null:x(t)}const Jt=e=>e===null?null:C(e,P);function Yt(e){let t=g(e,`annotation_argument_list`);return t===null?[]:t.namedChildren.map(e=>{if(e.type!==`element_value_pair`)return w(e,null,P);let t=_(e,`value`),n=v(_(e,`key`));return t===null?w(e,n,P):{...C(t,P),name:n,at:t.startIndex}})}function F(e){return e===null?[]:e.namedChildren.filter(e=>qt.has(e.type)).map(e=>Pe(e,Yt))}function I(e){return e===null?[]:e.children.filter(e=>!e.isNamed).map(e=>e.type)}function Xt(e){let t=_(e,`superclass`)?.namedChildren[0],n=[...h(e,`super_interfaces`).flatMap(e=>Zt(e,`implements`)),...h(e,`extends_interfaces`).flatMap(e=>Zt(e,`extends`))];return[...t?[{name:x(t),relation:`extends`}]:[],...n]}function Zt(e,t){return(g(e,`type_list`)?.namedChildren??[]).map(e=>({name:x(e),relation:t}))}function Qt(e){let t=v(_(e,`name`));return t===null?null:{kind:`parameter`,name:t,type:v(_(e,`type`)),at:_(e,`name`)?.startIndex??e.startIndex,modifiers:I(g(e,`modifiers`)),annotations:F(g(e,`modifiers`)),arity:0,tag:null}}function $t(e){let t=[];for(let n of e.namedChildren)if(n.type===`field_declaration`){let e=g(n,`modifiers`),r=v(_(n,`type`));for(let i of h(n,`variable_declarator`)){let n=_(i,`name`);n!==null&&t.push({kind:`field`,name:n.text,type:r,at:n.startIndex,modifiers:I(e),annotations:F(e),arity:0,tag:null})}}else if(n.type===`method_declaration`){let e=_(n,`name`);if(e===null)continue;let r=g(n,`modifiers`),i=_(n,`parameters`);t.push({kind:`method`,name:e.text,type:v(_(n,`type`)),at:e.startIndex,modifiers:I(r),annotations:F(r),arity:i?.namedChildren.filter(e=>e.type===`formal_parameter`||e.type===`spread_parameter`).length??0,tag:null})}return t}function en(e,t){let n=_(e,`name`),r=g(e,`modifiers`),i=_(e,`body`),a=t===`record`?_(e,`parameters`):null,o=[];a!==null&&o.push(...a.namedChildren.filter(e=>e.type===`formal_parameter`).flatMap(e=>Qt(e)??[])),i!==null&&o.push(...$t(i));let s=i?.type===`enum_body`?i.namedChildren.filter(e=>e.type===`enum_constant`).map(e=>_(e,`name`)?.text??``):[],c=i?.type===`enum_body`?g(i,`enum_body_declarations`):null;return c!==null&&o.push(...$t(c)),{kind:t,name:n?.text??``,at:n?.startIndex??e.startIndex,span:m(e),modifiers:I(r),annotations:F(r),supertypes:Xt(e),generic:_(e,`type_parameters`)!==null,members:o,constants:s.filter(e=>e!==``)}}function tn(e){return e.descendantsOfType(Object.keys(Kt)).map(e=>en(e,Kt[e.type]))}const L=/* @__PURE__ */ new Set([`method_declaration`,`constructor_declaration`]),nn={method_declaration:`method`,constructor_declaration:`constructor`},rn=/* @__PURE__ */ new Set([`class_declaration`,`record_declaration`,`enum_declaration`,`interface_declaration`]);function an(e){return(e?.namedChildren??[]).filter(e=>e.type===`formal_parameter`||e.type===`spread_parameter`).flatMap(e=>{let t=_(e,`name`)??g(e,`identifier`);return t===null?[]:[{name:t.text,type:v(_(e,`type`)),at:t.startIndex,annotations:F(g(e,`modifiers`))}]})}function on(e){return e.descendantsOfType([...L]).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[{kind:nn[e.type],name:t.text,at:t.startIndex,span:m(e),owner:k(e,rn),annotations:F(g(e,`modifiers`)),parameters:an(_(e,`parameters`)),returnType:v(_(e,`type`))}]})}function sn(e){return e.namedChildren.find(e=>e.type===`package_declaration`)?.namedChildren.find(e=>e.type===`scoped_identifier`||e.type===`identifier`)?.text??null}function cn(e){return e.descendantsOfType(`local_variable_declaration`).filter(e=>A(e,L)).flatMap(e=>{let t=v(_(e,`type`));return h(e,`variable_declarator`).flatMap(e=>{let n=_(e,`name`);return n===null?[]:[{name:n.text,key:null,type:t===`var`?null:t,at:n.startIndex,initializer:Jt(_(e,`value`))}]})})}function ln(e){return e.descendantsOfType(`return_statement`).map(e=>{let t=e.namedChildren.find(e=>!y(e))??null;return{at:e.startIndex,span:m(e),expression:Jt(t)}})}function un(){return[]}function dn(){return[]}function fn(){return[]}function pn(e){return(e?.namedChildren??[]).filter(e=>!y(e)).map(e=>w(e,null,P))}function mn(e,t){return{receiver:v(_(e,`object`)),name:t.text,arguments:pn(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,L)}}function hn(e){return e.descendantsOfType(`method_invocation`).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[mn(e,t)]})}function gn(e){return e.descendantsOfType(`object_creation_expression`).flatMap(e=>{let t=_(e,`type`);return t===null?[]:[{type:x(t),arguments:pn(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,L)}]})}function _n(e){return e.descendantsOfType(`import_declaration`).flatMap(e=>{let t=e.namedChildren.find(e=>e.type===`scoped_identifier`||e.type===`identifier`);return t===void 0?[]:[{name:g(e,`asterisk`)===null?t.text:`${t.text}.*`,at:t.startIndex}]})}function vn(e){return e.descendantsOfType(`field_declaration`).flatMap(e=>{if(!I(g(e,`modifiers`)).includes(`final`))return[];let t=k(e,rn);return h(e,`variable_declarator`).flatMap(e=>{let n=_(e,`name`),r=S(_(e,`value`));return n===null||r===null?[]:[{name:n.text,value:r,owner:t,at:n.startIndex}]})})}const yn=`annotation`,bn=/* @__PURE__ */ new Set([`val`,`var`]),xn=/* @__PURE__ */ new Set([`function_declaration`]),Sn=/* @__PURE__ */ new Set([`class_declaration`,`object_declaration`]),Cn=/* @__PURE__ */ new Set([`navigation_expression`,`index_expression`]);function R(e){let t=e.type===`call_expression`?e.firstNamedChild:null;return t?.type===`identifier`&&/^[A-Z]/.test(t.text)?t.text:null}const wn=e=>e===null?null:C(e,R);function Tn(e){return e===null?[]:h(e,`value_argument`).map(e=>{let t=e.children.findIndex(e=>e.type===`=`);if(t>0)return w(e.children.slice(t+1).find(e=>e.isNamed)??e,e.children[t-1].text,R);let n=g(e,`value_argument_label`);return w(e.namedChildren.find(e=>e.type!==`value_argument_label`)??e,n?n.text.replace(/\s*=\s*$/,``):null,R)})}function En(e){return Tn(e.descendantsOfType(`value_arguments`)[0]??null)}function Dn(e){return e.descendantsOfType(`user_type`)[0]?.text??e.text.replace(/^@/,``)}function z(e){return e===null?[]:e.namedChildren.filter(e=>e.type===yn).map(e=>({name:Dn(e),at:e.startIndex,arguments:En(e)}))}function B(e){return e===null?[]:e.namedChildren.filter(e=>e.type!==yn).map(e=>e.text)}function V(e){return v(g(e,`user_type`))}function On(e){let t=g(e,`modifiers`),n=e.children.find(e=>bn.has(e.type)),r=g(e,`identifier`);return n===void 0||r===null?null:{kind:`parameter`,name:r.text,type:V(e),at:r.startIndex,modifiers:B(t),annotations:z(t),arity:0,tag:null}}function kn(e){let t=g(e,`variable_declaration`),n=t?g(t,`identifier`):null;if(t===null||n===null)return null;let r=g(e,`modifiers`);return{kind:`field`,name:n.text,type:V(t),at:n.startIndex,modifiers:B(r),annotations:z(r),arity:0,tag:null}}function An(e){let t=_(e,`name`);if(t===null)return null;let n=g(e,`modifiers`),r=g(e,`function_value_parameters`);return{kind:`method`,name:t.text,type:V(e),at:t.startIndex,modifiers:B(n),annotations:z(n),arity:r?h(r,`parameter`).length:0,tag:null}}function jn(e){let t=g(e,`delegation_specifiers`);return t===null?[]:h(t,`delegation_specifier`).flatMap(e=>{let t=g(e,`constructor_invocation`),n=g(t||e,`user_type`);return n===null?[]:[{name:n.text,relation:t?`extends`:`implements`}]})}function Mn(e){let t=g(e,`modifiers`);return h(t??e,`class_modifier`).some(e=>e.text===`enum`)?`enum`:e.children.some(e=>e.type===`interface`)?`interface`:`class`}function Nn(e){let t=_(e,`name`),n=g(e,`modifiers`),r=Mn(e),i=[],a=g(e,`primary_constructor`),o=a?g(a,`class_parameters`):null;for(let e of o?.namedChildren??[]){if(e.type!==`class_parameter`)continue;let t=On(e);t&&i.push(t)}let s=g(e,`class_body`);for(let e of s?.namedChildren??[])if(e.type===`property_declaration`){let t=kn(e);t&&i.push(t)}else if(e.type===`function_declaration`){let t=An(e);t&&i.push(t)}let c=g(e,`enum_class_body`)?.namedChildren.filter(e=>e.type===`enum_entry`).map(e=>g(e,`identifier`)?.text??``)??[];return{kind:r,name:t?.text??``,at:t?.startIndex??e.startIndex,span:m(e),modifiers:B(n),annotations:z(n),supertypes:jn(e),generic:g(e,`type_parameters`)!==null,members:i,constants:c.filter(e=>e!==``)}}function Pn(e){return e.descendantsOfType([`class_declaration`,`object_declaration`]).map(Nn)}function Fn(e){let t=null;return(e?.namedChildren??[]).flatMap(e=>{if(e.type===`parameter_modifiers`)return t=e,[];if(e.type!==`parameter`)return[];let n=t;t=null;let r=g(e,`identifier`);return r===null?[]:[{name:r.text,type:V(e),at:r.startIndex,annotations:z(n)}]})}function In(e){return e.descendantsOfType(`function_declaration`).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=k(e,Sn);return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:m(e),owner:n,annotations:z(g(e,`modifiers`)),parameters:Fn(g(e,`function_value_parameters`)),returnType:V(e)}]})}function Ln(e){let t=e.namedChildren.find(e=>e.type===`package_header`)??null;return t===null?null:v(g(t,`qualified_identifier`))}function Rn(e){let t=e.children.findIndex(e=>e.type===`=`);return t<0?null:wn(e.children.slice(t+1).find(e=>e.isNamed)??null)}function zn(e){return e.descendantsOfType(`property_declaration`).filter(e=>A(e,xn)).flatMap(e=>{let t=g(e,`variable_declaration`),n=t?g(t,`identifier`):null;return t===null||n===null?[]:[{name:n.text,key:null,type:V(t),at:n.startIndex,initializer:Rn(e)}]})}function Bn(e){return e.descendantsOfType(`return_expression`).map(e=>({at:e.startIndex,span:m(e),expression:wn(e.namedChildren[0]??null)}))}function Vn(e){let t=O(e);return t!==null&&Cn.has(t.type)&&b(e,t.firstNamedChild)}function Hn(e){let t=O(e);return t===null?!1:Vn(e)||t.type===`call_expression`&&b(e,t.firstNamedChild)}function Un(e){let t=e.firstNamedChild;if(t===null)return[];if(e.type===`index_expression`)return[E(e,t,null,e.namedChildren[1]??null)];let n=e.lastNamedChild;return n===null||n.type!==`identifier`?[]:[E(e,t,n,null)]}function Wn(e){return D(e.descendantsOfType([...Cn]).filter(e=>!Hn(e)).flatMap(Un))}function Gn(e){return D(e.descendantsOfType([...Cn]).filter(Vn).flatMap(Un))}function Kn(e){return e.descendantsOfType(`infix_expression`).flatMap(e=>{let[t,n,r]=e.namedChildren;return n?.text===`to`&&r!==void 0?[T(t,r,e,R)]:[]})}function qn(e){let t=e.firstNamedChild;if(t===null)return null;let n=t.type===`navigation_expression`,r=n?t.lastNamedChild:t;return r===null||r.type!==`identifier`?null:{receiver:n?v(t.firstNamedChild):null,name:r.text,arguments:Tn(g(e,`value_arguments`)),at:r.startIndex,span:m(e),within:k(e,xn)}}function Jn(e){return e.descendantsOfType(`call_expression`).flatMap(e=>qn(e)??[])}function Yn(e){return e.descendantsOfType(`import`).flatMap(e=>{let t=g(e,`qualified_identifier`);return t===null?[]:[{name:/\*$/.test(e.text)?`${t.text}.*`:t.text,at:t.startIndex}]})}function Xn(e){return e.descendantsOfType(`property_declaration`).flatMap(e=>{if(!B(g(e,`modifiers`)).includes(`const`))return[];let t=g(g(e,`variable_declaration`)??e,`identifier`),n=S(e.lastNamedChild);return t===null||n===null?[]:[{name:t.text,value:n,owner:k(e,Sn),at:t.startIndex}]})}const H=/* @__PURE__ */ new Set([`function_definition`]),Zn=/* @__PURE__ */ new Set([`class_definition`,`object_definition`,`trait_definition`]),Qn=/* @__PURE__ */ new Set([`field_expression`]);function $n(e){let t=e.charAt(0);return t!==t.toLowerCase()}function U(e){let t=e.type===`call_expression`?_(e,`function`):null;return t?.type===`identifier`&&$n(t.text)?t.text:null}const er=e=>e===null?null:C(e,U);function tr(e){return e===null?[]:e.namedChildren.map(e=>{if(e.type===`assignment_expression`){let t=_(e,`left`),n=_(e,`right`);if(t!==null&&n!==null)return w(n,t.text,U)}return w(e,null,U)})}function W(e){let t=g(e,`modifiers`);return[...h(e,`annotation`),...t===null?[]:h(t,`annotation`)].map(e=>Pe(e,e=>tr(_(e,`arguments`)))).sort((e,t)=>e.at-t.at)}function G(e){let t=g(e,`modifiers`);return t===null?[]:t.children.filter(e=>e.type!==`annotation`).map(e=>e.text)}function nr(e){return(e?.namedChildren??[]).flatMap(e=>{if(e.type!==`parameter`)return[];let t=_(e,`name`);return t===null?[]:[{name:t.text,type:v(_(e,`type`)),at:t.startIndex,annotations:W(e)}]})}function rr(e){if(e.type===`function_definition`){let t=_(e,`name`);return t===null?null:{kind:`method`,name:t.text,type:v(_(e,`return_type`)),at:t.startIndex,modifiers:G(e),annotations:W(e),arity:nr(_(e,`parameters`)).length,tag:null}}if(e.type!==`val_definition`&&e.type!==`var_definition`)return null;let t=_(e,`pattern`);return t===null||t.type!==`identifier`?null:{kind:`field`,name:t.text,type:v(_(e,`type`)),at:t.startIndex,modifiers:G(e),annotations:W(e),arity:0,tag:null}}function ir(e){let t=e.children.some(e=>e.type===`case`);return(_(e,`class_parameters`)?.namedChildren??[]).flatMap(e=>{let n=_(e,`name`),r=e.children.some(e=>e.type===`val`||e.type===`var`);return n===null||!r&&!t?[]:[{kind:`field`,name:n.text,type:v(_(e,`type`)),at:n.startIndex,modifiers:[],annotations:W(e),arity:0,tag:null}]})}function ar(e){let t=g(e,`extends_clause`);if(t===null)return[];let n=e.type===`trait_definition`?`implements`:`extends`;return t.childrenForFieldName(`type`).map((e,t)=>({name:e.text,relation:t===0?n:`implements`}))}function or(e){return e.type===`trait_definition`?`interface`:`class`}function sr(e){let t=_(e,`name`),n=_(e,`body`),r=[...ir(e),...(n?.namedChildren??[]).flatMap(e=>rr(e)??[])];return{kind:or(e),name:t?.text??``,at:t?.startIndex??e.startIndex,span:m(e),modifiers:G(e),annotations:W(e),supertypes:ar(e),generic:g(e,`type_parameters`)!==null,members:r,constants:[]}}function cr(e){let t=g(e,`package_clause`);return v(t===null?null:_(t,`name`))}function lr(e){return e.descendantsOfType([...Zn]).map(sr)}function ur(e){return e.descendantsOfType([...H]).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=k(e,Zn);return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:m(e),owner:n,annotations:W(e),parameters:nr(_(e,`parameters`)),returnType:v(_(e,`return_type`))}]})}function dr(e){return e.descendantsOfType([`val_definition`,`var_definition`]).filter(e=>A(e,H)).flatMap(e=>{let t=_(e,`pattern`);return t===null||t.type!==`identifier`?[]:[{name:t.text,key:null,type:v(_(e,`type`)),at:t.startIndex,initializer:er(_(e,`value`))}]})}function fr(e){return e.descendantsOfType(`return_expression`).map(e=>({at:e.startIndex,span:m(e),expression:er(e.namedChildren[0]??null)}))}function pr(e){let t=O(e);return t!==null&&Qn.has(t.type)&&b(e,_(t,`value`))}function mr(e){let t=O(e);return t===null?!1:pr(e)||t.type===`call_expression`&&b(e,_(t,`function`))}function hr(e){let t=_(e,`value`),n=_(e,`field`);return t===null||n===null?[]:[E(e,t,n,null)]}function gr(e){return D(e.descendantsOfType([...Qn]).filter(e=>!mr(e)).flatMap(hr))}function _r(e){return D(e.descendantsOfType([...Qn]).filter(pr).flatMap(hr))}function vr(e){return e.descendantsOfType(`infix_expression`).flatMap(e=>{let t=_(e,`left`),n=_(e,`right`);return _(e,`operator`)?.text===`->`&&t!==null&&n!==null?[T(t,n,e,U)]:[]})}function yr(e){let t=_(e,`function`);if(t===null)return null;let n=t.type===`field_expression`,r=n?_(t,`field`):t;return r===null||r.type!==`identifier`?null:{receiver:n?v(_(t,`value`)):null,name:r.text,arguments:tr(_(e,`arguments`)),at:r.startIndex,span:m(e),within:k(e,H)}}function br(e){return e.descendantsOfType(`call_expression`).flatMap(e=>yr(e)??[])}function xr(e){return e.descendantsOfType(`instance_expression`).flatMap(e=>{let t=e.firstNamedChild;return t===null?[]:[{type:t.text,arguments:tr(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,H)}]})}function Sr(e){return e.descendantsOfType(`import_declaration`).flatMap(e=>{let t=e.childrenForFieldName(`path`).filter(e=>e.isNamed).map(e=>e.text).join(`.`),n=g(e,`namespace_selectors`);return n===null?g(e,`namespace_wildcard`)===null?[{name:t,at:e.startIndex}]:[{name:`${t}.*`,at:e.startIndex}]:n.namedChildren.map(n=>({name:`${t}.${n.text}`,at:e.startIndex}))})}function Cr(e){return e.descendantsOfType(`val_definition`).flatMap(e=>{if(!G(e).includes(`final`))return[];let t=_(e,`pattern`),n=S(_(e,`value`));return t===null||t.type!==`identifier`||n===null?[]:[{name:t.text,value:n,owner:k(e,Zn),at:t.startIndex}]})}const wr=/* @__PURE__ */ new Set([`identifier`,`attribute`,`subscript`]),Tr=/* @__PURE__ */ new Set([`function_definition`]),Er=/* @__PURE__ */ new Set([`class_definition`]),Dr={attribute:`object`,subscript:`value`};function K(e){let t=e.type===`call`?_(e,`function`):null;return t?.type===`identifier`&&/^[A-Z]/.test(t.text)?t.text:null}const Or=e=>e===null?null:C(e,K);function kr(e){return(e?.namedChildren??[]).filter(e=>!y(e)).map(e=>e.type===`keyword_argument`?{...C(_(e,`value`)??e,K),name:_(e,`name`)?.text??null,at:e.startIndex}:w(e,null,K))}function Ar(e){return e.type===`call`?{name:_(e,`function`)?.text??e.text,at:e.startIndex,arguments:kr(_(e,`arguments`))}:{name:e.text,at:e.startIndex,arguments:[]}}function jr(e){return h(e,`decorator`).flatMap(e=>{let t=e.namedChildren[0];return t===void 0?[]:[Ar(t)]})}function Mr(e){return(_(e,`superclasses`)?.namedChildren??[]).flatMap(e=>{if(!wr.has(e.type)&&e.type!==`subscript`)return[];let t=e.type===`subscript`?_(e,`value`):e;return t===null?[]:[{name:t.text,relation:`extends`}]})}function Nr(e){return e.type===`expression_statement`?g(e,`assignment`):null}function Pr(e){let t=_(e,`left`);if(t===null||t.type!==`identifier`)return[];let n=_(e,`right`),r=_(e,`type`);if(r===null&&t.text===`model_config`)return[{kind:`config`,name:t.text,type:null,at:t.startIndex,modifiers:[],annotations:[],arity:0,tag:null}];if(r===null)return[];let i=n!==null&&n.type===`call`?[Ar(n)]:[];return[{kind:`field`,name:t.text,type:r.text,at:t.startIndex,modifiers:[],annotations:i,arity:0,tag:null}]}function Fr(e,t){let n=_(e,`name`);return n===null?[]:e.type===`class_definition`?[{kind:`config`,name:n.text,type:null,at:n.startIndex,modifiers:[],annotations:t,arity:0,tag:null}]:e.type===`function_definition`?[{kind:`method`,name:n.text,type:_(e,`return_type`)?.text??null,at:n.startIndex,modifiers:[],annotations:t,arity:_(e,`parameters`)?.namedChildren.length??0,tag:null}]:[]}function Ir(e){return e.namedChildren.flatMap(e=>{if(e.type===`decorated_definition`){let t=_(e,`definition`);return t===null?[]:Fr(t,jr(e))}let t=Nr(e);return t===null?Fr(e,[]):Pr(t)})}function Lr(e){return e.namedChildren.flatMap(e=>{let t=Nr(e);if(t===null||_(t,`type`)!==null)return[];let n=_(t,`left`);return n?.type===`identifier`?[n.text]:[]})}function Rr(e){let t=_(e,`name`);if(t===null)return null;let n=_(e,`body`),r=O(e)?.type===`decorated_definition`?O(e):null;return{kind:`class`,name:t.text,at:t.startIndex,span:m(e),modifiers:[],annotations:r===null?[]:jr(r),supertypes:Mr(e),generic:_(e,`type_parameters`)!==null,members:n===null?[]:Ir(n),constants:n===null?[]:Lr(n)}}function zr(e){return e.descendantsOfType(`class_definition`).flatMap(e=>Rr(e)??[])}function Br(e){if(e.type===`identifier`)return{name:e.text,type:null,at:e.startIndex,annotations:[]};let t=e.type===`typed_parameter`?g(e,`identifier`):_(e,`name`);return t===null?null:{name:t.text,type:v(_(e,`type`)),at:t.startIndex,annotations:[]}}function Vr(e){return e.descendantsOfType(`function_definition`).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=k(e,Er),r=O(e)?.type===`decorated_definition`?O(e):null;return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:m(e),owner:n,annotations:r===null?[]:jr(r),parameters:(_(e,`parameters`)?.namedChildren??[]).flatMap(e=>Br(e)??[]),returnType:v(_(e,`return_type`))}]})}function Hr(){return null}function Ur(e){return e.descendantsOfType(`assignment`).filter(e=>O(e)?.type===`expression_statement`&&A(e,Tr)).flatMap(e=>{let t=_(e,`left`);return t===null||t.type!==`identifier`?[]:[{name:t.text,key:null,type:v(_(e,`type`)),at:t.startIndex,initializer:Or(_(e,`right`))}]})}function Wr(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:m(e),expression:Or(e.namedChildren.find(e=>!y(e))??null)}))}function Gr(e){let t=O(e),n=t===null?void 0:Dr[t.type];return t!==null&&n!==void 0&&b(e,_(t,n))}function Kr(e){let t=O(e);return t===null?!1:Gr(e)||t.type===`call`&&b(e,_(t,`function`))}function qr(e){let t=_(e,Dr[e.type]);if(t===null)return[];if(e.type===`subscript`)return[E(e,t,null,_(e,`subscript`))];let n=_(e,`attribute`);return n===null?[]:[E(e,t,n,null)]}function Jr(e){return D(e.descendantsOfType([`attribute`,`subscript`]).filter(e=>!Kr(e)).flatMap(qr))}function Yr(e){return D(e.descendantsOfType([`attribute`,`subscript`]).filter(Gr).flatMap(qr))}function Xr(e){return e.descendantsOfType(`pair`).flatMap(e=>{let t=O(e),n=_(e,`key`),r=_(e,`value`);return t===null||t.type!==`dictionary`||n===null||r===null?[]:[T(n,r,t,K)]})}function Zr(e){let t=_(e,`function`);for(;t!==null&&t.type===`call`;)t=_(t,`function`);return t}function Qr(e){let t=Zr(e);if(t===null)return null;let n=t.type===`attribute`,r=n?_(t,`attribute`):t;return r===null||r.type!==`identifier`?null:{receiver:n?v(_(t,`object`)):null,name:r.text,arguments:kr(_(e,`arguments`)),at:r.startIndex,span:m(e),within:k(e,Tr)}}function $r(e){return e.descendantsOfType(`call`).flatMap(e=>Qr(e)??[])}function ei(e){return e.descendantsOfType([`import_statement`,`import_from_statement`]).flatMap(e=>{if(e.type===`import_from_statement`){let t=_(e,`module_name`);return t===null?[]:[{name:t.text,at:t.startIndex}]}return e.namedChildren.flatMap(e=>{let t=e.type===`aliased_import`?_(e,`name`):e;return t!==null&&(t.type===`dotted_name`||t.type===`identifier`)?[{name:t.text,at:t.startIndex}]:[]})})}function ti(e){return e.namedChildren.flatMap(e=>{let t=Nr(e);if(t===null||_(t,`type`)!==null)return[];let n=_(t,`left`),r=S(_(t,`right`));return n?.type===`identifier`&&r!==null?[{name:n.text,value:r,owner:null,at:n.startIndex}]:[]})}const ni={class_declaration:`class`,abstract_class_declaration:`class`,interface_declaration:`interface`,enum_declaration:`enum`,type_alias_declaration:`alias`},ri=/* @__PURE__ */ new Set([`abstract`,`declare`,`get`,`override`,`private`,`protected`,`public`,`readonly`,`set`,`static`]),ii=/* @__PURE__ */ new Set([`required_parameter`,`optional_parameter`]),ai=/* @__PURE__ */ new Set([`required_parameter`,`optional_parameter`,`rest_pattern`]),oi=/* @__PURE__ */ new Set([`public_field_definition`,`field_definition`,`property_signature`]),si=/* @__PURE__ */ new Set([`method_signature`,`method_definition`]),q=/* @__PURE__ */ new Set([`function_declaration`,`generator_function_declaration`,`method_definition`]),ci=/* @__PURE__ */ new Set([...q,`arrow_function`,`function_expression`,`function`]),li=/* @__PURE__ */ new Set([`class_declaration`,`abstract_class_declaration`]),ui=/* @__PURE__ */ new Set([`member_expression`,`subscript_expression`]),J=e=>e.type===`string`?e.text.slice(1,-1):e.text;function Y(e){return e.type===`new_expression`?v(_(e,`constructor`)):null}const di=e=>e===null?null:C(e,Y);function X(e){return e.children.filter(e=>ri.has(e.type)||e.type===`accessibility_modifier`).map(e=>e.text)}function fi(e){return(_(e,`type`)??_(e,`return_type`))?.namedChildren[0]?.text??null}function Z(e,t,n,r=0){return{kind:e,name:J(n),type:fi(t),at:n.startIndex,modifiers:X(t),annotations:[],arity:r,tag:null}}function pi(e){return _(e,`parameters`)?.namedChildren.filter(e=>ai.has(e.type)).length??0}function mi(e){return(_(e,`parameters`)?.namedChildren??[]).flatMap(e=>{let t=_(e,`pattern`);return!ii.has(e.type)||t===null||X(e).length===0?[]:[Z(`parameter`,e,t)]})}function hi(e){return e.namedChildren.flatMap(e=>{if(oi.has(e.type)){let t=_(e,`name`)??_(e,`property`);return t===null?[]:[Z(`field`,e,t)]}if(e.type===`index_signature`){let t=_(e,`name`);return t===null?[]:[Z(`index`,e,t)]}if(si.has(e.type)){let t=_(e,`name`);if(t===null)return[];let n=X(e);return n.includes(`get`)||n.includes(`set`)?[Z(`accessor`,e,t)]:t.text===`constructor`?mi(e):[Z(`method`,e,t,pi(e))]}return[]})}function gi(e){let t=g(e,`extends_clause`),n=t?_(t,`value`):e.namedChildren.find(e=>e.type===`identifier`||e.type===`member_expression`)??null;return n===null?[]:[{name:x(n),relation:`extends`}]}function _i(e){let t=h(e,`extends_type_clause`).flatMap(e=>e.namedChildren.map(e=>({name:x(e),relation:`extends`}))),n=g(e,`class_heritage`);if(n===null)return t;let r=(g(n,`implements_clause`)?.namedChildren??[]).map(e=>({name:x(e),relation:`implements`}));return[...gi(n),...r]}function vi(e){return e.namedChildren.flatMap(e=>{if(e.type===`enum_assignment`){let t=_(e,`name`);return t===null?[]:[J(t)]}return e.type===`property_identifier`||e.type===`string`?[J(e)]:[]})}function yi(e,t){let n=_(e,`name`);if(n===null)return null;let r=t===`alias`?_(e,`value`):_(e,`body`);return t===`alias`&&r?.type!==`object_type`?null:{kind:t,name:n.text,at:n.startIndex,span:m(e),modifiers:X(e),annotations:[],supertypes:_i(e),generic:_(e,`type_parameters`)!==null,members:r===null||t===`enum`?[]:hi(r),constants:t===`enum`&&r!==null?vi(r):[]}}function bi(e){return e.descendantsOfType(Object.keys(ni)).flatMap(e=>yi(e,ni[e.type])??[])}function Q(e){return(e?.namedChildren??[]).filter(e=>!y(e)).map(e=>w(e,null,Y))}function xi(e){return h(e,`decorator`).flatMap(e=>{let t=e.namedChildren[0];return t===void 0?[]:t.type===`call_expression`?[{name:v(_(t,`function`))??t.text,at:t.startIndex,arguments:Q(_(t,`arguments`))}]:[{name:t.text,at:t.startIndex,arguments:[]}]})}function Si(e){return(e?.namedChildren??[]).filter(e=>ii.has(e.type)).flatMap(e=>{let t=_(e,`pattern`);return t===null||t.type!==`identifier`?[]:[{name:t.text,type:v(_(e,`type`)?.namedChildren[0]??null),at:t.startIndex,annotations:[]}]})}function Ci(e){return e.descendantsOfType([...q]).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=k(e,li),r=e.type===`method_definition`;return[{kind:t.text===`constructor`?`constructor`:r?`method`:`function`,name:t.text,at:t.startIndex,span:m(e),owner:r?n:null,annotations:xi(e),parameters:Si(_(e,`parameters`)),returnType:v(_(e,`return_type`)?.namedChildren[0]??null)}]})}function wi(){return null}function Ti(e){return v(_(e,`type`)?.namedChildren[0]??null)}function Ei(e,t){let n=(e,n)=>({name:n.text,key:e,type:null,at:n.startIndex,initializer:t});return e.namedChildren.flatMap(e=>{if(e.type===`shorthand_property_identifier_pattern`)return[n(e.text,e)];if(e.type===`object_assignment_pattern`){let t=_(e,`left`);return t?.type===`shorthand_property_identifier_pattern`?[n(t.text,t)]:[]}if(e.type!==`pair_pattern`)return[];let t=_(e,`key`),r=_(e,`value`),i=r?.type===`assignment_pattern`?_(r,`left`):r;return t!==null&&i?.type===`identifier`?[n(J(t),i)]:[]})}function Di(e){return e.descendantsOfType(`variable_declarator`).filter(e=>A(e,ci)).flatMap(e=>{let t=_(e,`name`),n=di(_(e,`value`));return t===null?[]:t.type===`object_pattern`?Ei(t,n):t.type===`identifier`?[{name:t.text,key:null,type:Ti(e),at:t.startIndex,initializer:n}]:[]})}function Oi(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:m(e),expression:di(e.namedChildren.find(e=>!y(e))??null)}))}function ki(e){let t=O(e);return t!==null&&ui.has(t.type)&&b(e,_(t,`object`))}function Ai(e){let t=O(e);return t===null?!1:ki(e)||t.type===`call_expression`&&b(e,_(t,`function`))}function ji(e){let t=_(e,`object`);if(t===null)return[];if(e.type!==`member_expression`)return[E(e,t,null,_(e,`index`))];let n=_(e,`property`);return n===null?[]:[E(e,t,n,null)]}function Mi(e){return D(e.descendantsOfType([...ui]).filter(e=>!Ai(e)).flatMap(ji))}function Ni(e){return D(e.descendantsOfType([...ui]).filter(ki).flatMap(ji))}function Pi(e){return D(e.descendantsOfType([`pair`,`shorthand_property_identifier`]).flatMap(e=>{let t=O(e);if(t===null||t.type!==`object`)return[];if(e.type===`shorthand_property_identifier`)return[T(e,e,t,Y)];let n=_(e,`key`),r=_(e,`value`);return n===null||r===null?[]:[T(n,r,t,Y)]}))}function Fi(e){let t=_(e,`function`);if(t===null)return null;let n=t.type===`member_expression`,r=n?_(t,`property`):t;return r===null||r.type!==`identifier`&&r.type!==`property_identifier`?null:{receiver:n?v(_(t,`object`)):null,name:r.text,arguments:Q(_(e,`arguments`)),at:r.startIndex,span:m(e),within:k(e,q)}}function Ii(e){return e.descendantsOfType(`call_expression`).flatMap(e=>Fi(e)??[])}const Li=e=>{let t=O(e);return t?.type===`program`||t?.type===`export_statement`&&O(t)?.type===`program`};function Ri(e){return e.descendantsOfType(`new_expression`).flatMap(e=>{let t=_(e,`constructor`);return t===null?[]:[{type:t.text,arguments:Q(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,q)}]})}function zi(e){return e.descendantsOfType(`import_statement`).flatMap(e=>{let t=_(e,`source`),n=S(t);return t===null||n===null?[]:[{name:n,at:t.startIndex}]})}function Bi(e){return e.descendantsOfType(`lexical_declaration`).flatMap(e=>g(e,`const`)===null||!Li(e)?[]:h(e,`variable_declarator`).flatMap(e=>{let t=_(e,`name`),n=S(_(e,`value`));return t===null||n===null?[]:[{name:t.text,value:n,owner:null,at:t.startIndex}]}))}const Vi=()=>[],Hi={packageOf:sn,declarations:tn,callables:on,locals:cn,returns:ln,accesses:un,innerAccesses:dn,pairs:fn,calls:hn,constructions:gn,imports:_n,constants:vn},Ui={packageOf:wi,declarations:bi,callables:Ci,locals:Di,returns:Oi,accesses:Mi,innerAccesses:Ni,pairs:Pi,calls:Ii,constructions:Ri,imports:zi,constants:Bi},Wi={java:Hi,kotlin:{packageOf:Ln,declarations:Pn,callables:In,locals:zn,returns:Bn,accesses:Wn,innerAccesses:Gn,pairs:Kn,calls:Jn,constructions:Vi,imports:Yn,constants:Xn},typescript:Ui,javascript:Ui,python:{packageOf:Hr,declarations:zr,callables:Vr,locals:Ur,returns:Wr,accesses:Jr,innerAccesses:Yr,pairs:Xr,calls:$r,constructions:Vi,imports:ei,constants:ti},go:{packageOf:jt,declarations:Dt,callables:At,locals:Mt,returns:Nt,accesses:Lt,innerAccesses:Rt,pairs:Bt,calls:Ut,constructions:Vi,imports:Wt,constants:Gt},groovy:Hi,scala:{packageOf:cr,declarations:lr,callables:ur,locals:dr,returns:fr,accesses:gr,innerAccesses:_r,pairs:vr,calls:br,constructions:xr,imports:Sr,constants:Cr},csharp:{packageOf:rt,declarations:Qe,callables:nt,locals:it,returns:at,accesses:lt,innerAccesses:ut,pairs:pt,calls:gt,constructions:_t,imports:vt,constants:yt}},Gi=/* @__PURE__ */ new Map;function Ki(e,t){let n=`${e.runtimeFile}\0${e.grammarFiles[t]}`,r=Gi.get(n);return r===void 0&&(r=Promise.all([c(e.runtimeFile),c(e.grammarFiles[t])]).then(([e,t])=>a(`sha256`).update(e).update(t).digest(`hex`)),Gi.set(n,r),r.catch(()=>Gi.delete(n))),r}function qi(e){let t=null,n=/* @__PURE__ */ new Map,r=!1,i=()=>(t??=import(`web-tree-sitter`).then(async t=>(await t.Parser.init({locateFile:()=>e.runtimeFile}),t)),t),a=t=>{let r=n.get(t);if(r)return r;let a=(async()=>{let{Language:n,Parser:r}=await i(),a=await n.load(new Uint8Array(await c(e.grammarFiles[t]))),o=new r;return o.setLanguage(a),o})();return n.set(t,a),a.catch(()=>n.delete(t)),a};return{async facts(e){if(r)throw Error(`The syntax port is disposed`);let t=p(e.path);if(t===null)throw Error(`No grammar is registered for ${e.path}`);let n=(await a(t)).parse(e.text),i=ie(e.text);if(n===null)return{path:e.path,language:t,package:null,errors:[{offset:0,line:1}],lineStarts:i,declarations:[],callables:[],locals:[],returns:[],accesses:[],innerAccesses:[],pairs:[],calls:[],constructions:[],imports:[],constants:[]};try{let r=Wi[t],a=n.rootNode;return{path:e.path,language:t,package:r.packageOf(a),errors:Ji(a,e.text),lineStarts:i,declarations:r.declarations(a),callables:r.callables(a),locals:r.locals(a),returns:r.returns(a),accesses:r.accesses(a),innerAccesses:r.innerAccesses(a),pairs:r.pairs(a),calls:r.calls(a),constructions:r.constructions(a),imports:r.imports(a),constants:r.constants(a)}}finally{n.delete()}},version:t=>Ki(e,t),async dispose(){r=!0;let e=[...n.values()];n.clear();for(let t of e)(await t.catch(()=>null))?.delete()}}}function Ji(e,t){let n=[],r=e=>{if(!(n.length>=20||!e.hasError)){if(e.isError||e.isMissing)n.push({offset:e.startIndex,line:ne(t,e.startIndex)});else for(let t of e.children)r(t)}};return r(e),n}function Yi(){let e=n.join(import.meta.dirname,`syntax-worker.js`);return i(e)?{file:e,execArgv:[]}:{file:n.join(import.meta.dirname,`worker.ts`),execArgv:[`--experimental-strip-types`]}}function Xi({locations:e,size:t}){let n=[],r=Yi(),i=0,a=0,o=!1,s=e=>{let t=n.indexOf(e);t>=0&&n.splice(t,1)},c=e=>(s(e),e.worker.terminate()),l=()=>{let t=new te(r.file,{execArgv:r.execArgv,workerData:{locations:e}}),i={worker:t,waiting:/* @__PURE__ */ new Map,retired:!1};t.on(`message`,e=>{let n=i.waiting.get(e.id);n!==void 0&&(i.waiting.delete(e.id),e.recycle&&(i.retired=!0,s(i)),i.waiting.size===0&&(i.retired||a===0?c(i):t.unref()),e.error===void 0?e.facts!==void 0&&n.resolve(e.facts):n.reject(Error(e.error)))});let o=e=>{for(let t of i.waiting.values())t.reject(e);i.waiting.clear(),s(i)};return t.on(`error`,e=>o(e instanceof Error?e:Error(String(e)))),t.on(`exit`,()=>o(/* @__PURE__ */ Error(`The syntax worker stopped`))),t.unref(),n.push(i),i},ee=()=>{let e=n.find(e=>e.waiting.size===0);return e===void 0?n.length<t?l():n.reduce((e,t)=>t.waiting.size<e.waiting.size?t:e):e};return{hold(){a+=1;let e=!0;return async()=>{e&&(e=!1,--a,!(a>0)&&await Promise.all(n.filter(e=>e.waiting.size===0).map(e=>c(e))))}},live:()=>n.length,facts(e){if(o)return Promise.reject(/* @__PURE__ */ Error(`The syntax port is disposed`));let t=ee(),n=i+=1;return new Promise((r,i)=>{t.waiting.set(n,{resolve:r,reject:i}),t.worker.ref(),t.worker.postMessage({id:n,source:e,recycle:e.text.length>=524288})})},version(t){return Ki(e,t)},async dispose(){o=!0,await Promise.all([...n].map(e=>e.worker.terminate())),n.length=0}}}const Zi=e=>a(`sha256`).update(e).digest(`hex`);function Qi(e,t=null,n=!0){let r=/* @__PURE__ */ new Map,i=async(n,r)=>{let i=p(n.path);if(t===null||i===null)return e.facts(n);let o=a(`sha256`).update([`facts-2`,await e.version(i),n.path,r].join(`\0`)).digest(`hex`),s=await t.read(o);if(s!==null)return s;let c=await e.facts(n);return await t.write(o,c),c},o=e=>{if(!n)return i(e,Zi(e.text));let t=Zi(e.text),a=r.get(e.path);if(a!==void 0&&a.digest===t)return a.facts;let o=i(e,t);return r.set(e.path,{digest:t,facts:o}),o.catch(()=>{r.get(e.path)?.facts===o&&r.delete(e.path)}),o};return{factsOf:e=>Promise.all(e.map(o))}}function $i(e){return Math.min(4,Math.max(1,Math.floor(e/2)))}const ea=$i(r());function ta(e,t){return e>200?t:0}let $={workers:0,cacheDirectory:null,remember:!0},na=null,ra=null;function ia(e){$=e,na=null,ra?.dispose(),ra=null}function aa(){return na??=oa(),na}function oa(){let e=$.cacheDirectory===null?null:Se($.cacheDirectory),t=Ee(),n=$.workers>0?Xi({locations:t,size:$.workers}):null;ra=n;let r={cache:Qi(qi(t),e,$.remember),hold:null},i=n===null?null:{cache:Qi(n,e,$.remember),hold:()=>n.hold()},a=async(e,t)=>{let n=e.hold?.();try{return await t(t=>e.cache.factsOf(t))}finally{await n?.()}};return{factsOf:e=>a(i??r,t=>t(e)),pass:(e,t)=>a(i!==null&&ta(e,$.workers)>0?i:r,t)}}async function sa(e){let t=e.filter(e=>p(e.file)!==null);return aa().pass(t.length,async e=>{let n=me();for(let r=0;r<t.length;r+=64){let i=t.slice(r,r+64);(await e(i.map(e=>({path:e.file,text:e.text})))).forEach((e,t)=>n.add({facts:e,text:i[t].text}))}return n.finish()})}export{p as a,aa as i,ea as n,ae as o,ia as r,sa as t};
7
+ `,n+1))t.push(n+1);return t}function ae(e,t){let n=0,r=e.length-1;for(;n<r;){let i=n+r+1>>1;e[i]<=t?n=i:r=i-1}return n+1}const oe=/* @__PURE__ */ new Set([`setVariable`,`setVariableLocal`,`putValue`,`putValueTyped`,`variable`]),se=new Map([...[`startProcessInstanceByKey`,`createProcessInstanceByKey`,`startProcessInstanceByKeyAndTenantId`,`processDefinitionKey`,`bpmnProcessId`].map(e=>[e,{kind:`PROCESS`}]),...[`isWaitingAt`,`isNotWaitingAt`,`hasPassed`,`hasNotPassed`,`hasPassedInOrder`,`hasPassedElement`,`hasNotPassedElement`,`hasPassedElementsInOrder`,`hasCompletedElements`,`hasCompletedElementsInOrder`,`hasActiveElements`,`hasTerminatedElements`,`hasNotActivatedElements`,`hasActivatedElements`,`isActiveAt`,`byId`,`startBeforeActivity`,`startAfterActivity`,`cancelAllForActivity`,`activityId`,`taskDefinitionKey`,`elementId`,`hasActiveElement`].map(e=>[e,{kind:`ELEMENT`}]),...[`correlateMessage`,`createMessageCorrelation`,`messageName`,`correlateMessageAsync`].map(e=>[e,{kind:`MESSAGE`}]),...[`evaluateDecisionByKey`,`evaluateDecisionTableByKey`,`decisionKey`,`decisionId`,`decisionDefinitionKey`].map(e=>[e,{kind:`DECISION`}]),...[`getVariable`,`getVariableLocal`,`getVariableTyped`,`getVariableLocalTyped`,`setVariable`,`setVariableLocal`,`removeVariable`,`removeVariableLocal`,`hasVariable`,`hasVariableLocal`,`putValue`,`putValueTyped`,`variable`,`hasVariableNames`,`hasLocalVariable`,`hasLocalVariableNames`,`hasVariableWithValue`,`hasVariableSatisfies`].map(e=>[e,{kind:`VARIABLE`,writes:oe.has(e)}]),[`handleBpmnError`,{kind:`ERROR`,at:1}],[`errorCode`,{kind:`ERROR`}],[`bpmnError`,{kind:`ERROR`}]]),ce=/* @__PURE__ */ new Set([`Component`,`Service`,`Named`,`Repository`,`Controller`,`RestController`,`Configuration`]),le=/* @__PURE__ */ new Set([`class`,`interface`,`enum`,`record`,`struct`]),ue=/* @__PURE__ */ new Set([`JobWorker`,`ZeebeWorker`]),de=/* @__PURE__ */ new Set([`BpmnError`,`ZeebeBpmnError`]),fe=/^[A-Za-z_]\w*$/,pe=/^[A-Za-z_][\w.]*$/;function me(){let e={jobTypes:/* @__PURE__ */ new Map,topics:/* @__PURE__ */ new Map,classes:/* @__PURE__ */ new Map,beans:/* @__PURE__ */ new Map,references:/* @__PURE__ */ new Map,unresolved:[]},t=/* @__PURE__ */ new Map,n=[];return{add(r){for(let e of r.facts.constants)t.set(e.name,e.value);n.push(...he(r,e))},finish(){for(let r of n){let n=t.get(r.raw);n===void 0?e.unresolved.push(r.place):f(e[r.sink],n,r.place)}return e}}}function he(t,n){let{facts:r}=t,i=re(t.text),a=e=>({file:r.path,line:i(e),offset:e}),o=[],s=(e,t,i)=>{if(t.value!==null){f(n[e],t.value,a(i));return}let s=fe.test(t.text)?ve(r,t.text,i):null;s===null?o.push({place:a(i),raw:t.text.split(`.`).pop()??t.text,sink:e}):f(n[e],s,a(i))},c=(t,r,i,o=!1)=>{f(n.references,e({kind:t,value:r}),o?{...a(i),writes:o}:a(i))},l=/* @__PURE__ */ new Map;for(let e of r.declarations){if(!le.has(e.kind))continue;let t=r.package?`${r.package}.${e.name}`:e.name,i=a(e.at);n.classes.has(t)||n.classes.set(t,i);let o=e.annotations.filter(e=>ce.has(e.name)).at(-1);o!==void 0&&l.set(_e(o)??ye(e.name),i)}for(let e of r.callables)e.annotations.some(e=>e.name===`Bean`)&&l.set(e.name,a(e.at));for(let[e,t]of l)n.beans.has(e)||n.beans.set(e,t);for(let e of r.callables)for(let t of e.annotations.filter(e=>ue.has(e.name))){let r=t.arguments.find(e=>e.name===`type`);r===void 0?f(n.jobTypes,e.name,a(t.at)):s(`jobTypes`,r,t.at)}for(let e of r.declarations)for(let t of e.annotations.filter(e=>ue.has(e.name))){let e=t.arguments.find(e=>e.name===`type`);e!==void 0&&s(`jobTypes`,e,t.at)}for(let e of ge(r)){if(e.name===`ExternalTaskSubscription`){let t=e.arguments.find(e=>e.name===`topicName`)??e.arguments.find(e=>e.name===null);t!==void 0&&s(`topics`,t,e.at)}if(e.name===`Variable`){let t=e.arguments.find(e=>e.name===null||e.name===`name`||e.name===`value`);t?.value!=null&&c(`VARIABLE`,t.value,e.at)}}for(let e of r.calls){let t=se.get(e.name);if(t!==void 0){let n=t.at===void 0?e.arguments:e.arguments.slice(t.at,t.at+1);for(let e of n)e.value!==null&&c(t.kind,e.value,e.at,t.writes)}if(e.name.toLowerCase()===`jobtype`&&e.receiver!==null&&d(e,0,e=>s(`jobTypes`,e,e.at)),e.name===`subscribe`&&e.receiver!==null&&d(e,0,e=>{u(e)&&s(`topics`,e,e.at)}),e.name===`createWorker`&&d(e,0,e=>{e.value!==null&&f(n.jobTypes,e.value,a(e.at))}),e.name===`createJobWorker`){let t=r.pairs.find(t=>t.key===`type`&&t.at>=e.span.from&&t.at<e.span.to);t!==void 0&&u(t.value)&&s(`jobTypes`,t.value,t.at)}for(let t of e.arguments.filter(e=>e.name===`task_type`))u(t)&&s(`jobTypes`,t,t.at)}for(let e of r.locals.filter(e=>e.name===`task_type`))e.initializer!==null&&u(e.initializer)&&s(`jobTypes`,e.initializer,e.at);for(let e of r.constants.filter(e=>e.name===`task_type`))f(n.jobTypes,e.value,a(e.at));for(let e of r.pairs.filter(e=>e.key===`taskType`))u(e.value)&&s(`jobTypes`,e.value,e.at);for(let e of r.constructions.filter(e=>de.has(e.type.split(`.`).pop()??e.type)))d(e,0,e=>{e.value!==null&&c(`ERROR`,e.value,e.at)});return o}function ge(e){return[...e.declarations.flatMap(e=>[...e.annotations,...e.members.filter(e=>e.kind!==`method`).flatMap(e=>e.annotations)]),...e.callables.flatMap(e=>[...e.annotations,...e.parameters.flatMap(e=>e.annotations)])]}function _e(e){return e.arguments.find(e=>e.name===null||e.name===`value`)?.value??null}function u(e){return e.value!==null||pe.test(e.text)}function d(e,t,n){let r=e.arguments[t];r!==void 0&&n(r)}function ve(e,t,n){return e.locals.filter(e=>e.name===t&&e.at<=n&&e.initializer?.value!=null).at(-1)?.initializer?.value??null}function ye(e){return e.length>1&&e[1]===e[1].toUpperCase()&&/[A-Z]/.test(e[1])?e:e[0].toLowerCase()+e.slice(1)}function f(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}const be=/* @__PURE__ */ new Map([[`java`,`java`],[`kt`,`kotlin`],[`kts`,`kotlin`],[`ts`,`typescript`],[`js`,`javascript`],[`mjs`,`javascript`],[`cjs`,`javascript`],[`py`,`python`],[`go`,`go`],[`cs`,`csharp`],[`groovy`,`groovy`],[`scala`,`scala`]]);function p(e){let t=e.lastIndexOf(`.`);return t<0?null:be.get(e.slice(t+1))??null}function xe(e,t){return n.join(e,t.slice(0,2),`${t}.json`)}function Se(e){return{async read(t){try{return JSON.parse(await c(xe(e,t),`utf8`))}catch{return null}},async write(t,r){let i=xe(e,t);try{await s(n.dirname(i),{recursive:!0});let e=`${i}.${process.pid}.${o()}.tmp`;await ee(e,JSON.stringify(r)),await l(e,i)}catch{return}}}}const Ce={java:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-java.wasm`},kotlin:{package:`@tree-sitter-grammars/tree-sitter-kotlin`,file:`tree-sitter-kotlin.wasm`},typescript:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-typescript.wasm`},javascript:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-javascript.wasm`},python:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-python.wasm`},go:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-go.wasm`},csharp:{package:`@vscode/tree-sitter-wasm`,file:`wasm/tree-sitter-c-sharp.wasm`},groovy:{package:`tree-sitter-groovy`,file:`tree-sitter-groovy.wasm`},scala:{package:`tree-sitter-scala`,file:`tree-sitter-scala.wasm`}},we=`web-tree-sitter.wasm`;function Te(e){let t=Object.fromEntries(Object.entries(Ce).map(([t,{file:r}])=>[t,n.join(e,n.basename(r))]));return{runtimeFile:n.join(e,we),grammarFiles:t}}function Ee(){let e=n.join(import.meta.dirname,`grammars`);if(i(n.join(e,we)))return Te(e);let r=t(import.meta.url),a=Object.fromEntries(Object.entries(Ce).map(([e,{package:t,file:n}])=>[e,r.resolve(`${t}/${n}`)]));return{runtimeFile:r.resolve(`web-tree-sitter/web-tree-sitter.wasm`),grammarFiles:a}}const De=/* @__PURE__ */ new Set([`string`,`string_literal`,`interpreted_string_literal`,`raw_string_literal`]),Oe=/* @__PURE__ */ new Set([`array`,`array_literal`,`list`,`collection_literal`,`element_value_array_initializer`,`array_initializer`]),ke=[`"""`,`'''`,`"`,`'`,"`"],Ae=/* @__PURE__ */ new Set([`identifier`,`property_identifier`,`field_identifier`,`shorthand_property_identifier`]),je={attribute:`attribute`,selector_expression:`field`,member_access_expression:`name`,field_expression:`field`,member_expression:`property`},m=e=>({from:e.startIndex,to:e.endIndex}),h=(e,t)=>e.children.filter(e=>e.type===t),g=(e,t)=>e.children.find(e=>e.type===t)??null,_=(e,t)=>e.childForFieldName(t),v=e=>e?.text??null,y=e=>e.type.includes(`comment`),b=(e,t)=>t!==null&&e.type===t.type&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex;function x(e){return e.type===`generic_type`||e.type===`generic_name`?e.firstNamedChild?.text??e.text:e.text}function S(e){if(e===null||!De.has(e.type))return null;let t=e.text;for(let e of ke)if(t.length>=e.length*2&&t.startsWith(e)&&t.endsWith(e))return t.slice(e.length,-e.length);return null}function Me(e){return Oe.has(e.type)?e.namedChildren.flatMap(e=>S(e)??[]):null}function Ne(e){let t=je[e.type];return t===void 0?null:_(e,t)?.text??null}function C(e,t){return{text:e.text,value:S(e),values:Me(e),identifier:Ae.has(e.type)?e.text:null,reference:Ne(e),constructs:t(e),span:m(e)}}function w(e,t,n){return{...C(e,n),name:t,at:e.startIndex}}function T(e,t,n,r){let i=S(e);return{key:i??e.text,quoted:i!==null,at:e.startIndex,object:n.startIndex,value:C(t,r)}}function E(e,t,n,r){return{receiver:t.text,name:n?.text??null,key:S(r),keyAt:S(r)===null?null:r?.startIndex??null,at:e.startIndex,span:m(e)}}function D(e){return e.sort((e,t)=>e.at-t.at)}function Pe(e,t){return{name:_(e,`name`)?.text??e.text.replace(/^@/,``),at:e.startIndex,arguments:t(e)}}const Fe=/* @__PURE__ */ new WeakMap,Ie=/* @__PURE__ */ new WeakMap;function Le(e){let t=Fe.get(e);if(t===void 0){t=/* @__PURE__ */ new Map;let n=[e.rootNode];for(let e=n.pop();e!==void 0;e=n.pop())for(let r of e.children)t.set(r.id,e),n.push(r);Fe.set(e,t)}return t}function O(e){return Le(e.tree).get(e.id)??null}function Re(e,t){let n=Ie.get(e);n===void 0&&(n=/* @__PURE__ */ new Map,Ie.set(e,n));let r=n.get(t);return r===void 0&&(r=/* @__PURE__ */ new Map,n.set(t,r)),r}function ze(e,t){let n=Re(e.tree,t),r=Le(e.tree),i=[],a=e;for(;a!==null&&!n.has(a.id);)i.push(a),a=r.get(a.id)??null;let o=a,s=a===null?null:n.get(a.id)??null;for(let e=i.length-1;e>=0;--e){let r=o!==null&&t.has(o.type)?o:s;n.set(i[e].id,r),o=i[e],s=r}return n.get(e.id)??null}function k(e,t){let n=ze(e,t);return n===null?null:_(n,`name`)?.text??null}function A(e,t){return ze(e,t)!==null}const Be=/* @__PURE__ */ new Set([`method_declaration`,`local_function_statement`,`constructor_declaration`]),Ve=/* @__PURE__ */ new Set([`member_access_expression`,`element_access_expression`]),He=/* @__PURE__ */ new Set([`object_creation_expression`,`implicit_object_creation_expression`]),Ue={class_declaration:`class`,record_declaration:`record`,struct_declaration:`struct`,enum_declaration:`enum`};function j(e){let t=e.type===`object_creation_expression`?_(e,`type`):null;return t===null?null:x(t)}const We=e=>e===null?null:C(e,j);function Ge(e){return(g(e,`attribute_argument_list`)?.namedChildren??[]).map(e=>{let t=g(e,`name_equals`);return{...C(e.namedChildren.find(e=>e.type!==`name_equals`)??e,j),name:t?.namedChildren[0]?.text??null,at:e.startIndex}})}function M(e){return h(e,`attribute_list`).flatMap(e=>h(e,`attribute`).map(e=>({name:_(e,`name`)?.text??e.text,at:e.startIndex,arguments:Ge(e)})))}function N(e){return h(e,`modifier`).map(e=>e.text)}function Ke(e){let t=_(e,`name`);return t===null?[]:[{kind:`field`,name:t.text,type:_(e,`type`)?.text??null,at:t.startIndex,modifiers:N(e),annotations:M(e),arity:0,tag:null}]}function qe(e){let t=g(e,`variable_declaration`);if(t===null)return[];let n=_(t,`type`)?.text??null;return h(t,`variable_declarator`).flatMap(t=>{let r=_(t,`name`);return r===null?[]:[{kind:`field`,name:r.text,type:n,at:r.startIndex,modifiers:N(e),annotations:M(e),arity:0,tag:null}]})}function Je(e){return e.namedChildren.filter(e=>e.type===`parameter`).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[{kind:`parameter`,name:t.text,type:_(e,`type`)?.text??null,at:t.startIndex,modifiers:[],annotations:M(e),arity:0,tag:null}]})}function Ye(e){return e.namedChildren.flatMap(e=>e.type===`property_declaration`?Ke(e):e.type===`field_declaration`?qe(e):[])}function Xe(e){return(g(e,`base_list`)?.namedChildren??[]).map(e=>({name:x(e),relation:`extends`}))}function Ze(e,t){let n=_(e,`name`);if(n===null)return null;let r=_(e,`body`),i=g(e,`parameter_list`),a=[...i===null?[]:Je(i),...r===null||t===`enum`?[]:Ye(r)];return{kind:t,name:n.text,at:n.startIndex,span:m(e),modifiers:N(e),annotations:M(e),supertypes:Xe(e),generic:g(e,`type_parameter_list`)!==null,members:a,constants:t===`enum`&&r!==null?h(r,`enum_member_declaration`).map(e=>_(e,`name`)?.text??``).filter(e=>e!==``):[]}}function Qe(e){return e.descendantsOfType(Object.keys(Ue)).flatMap(e=>Ze(e,Ue[e.type])??[])}const $e=/* @__PURE__ */ new Set([`class_declaration`,`record_declaration`,`struct_declaration`]),et={method_declaration:`method`,constructor_declaration:`constructor`};function tt(e){return(e?.namedChildren??[]).filter(e=>e.type===`parameter`).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[{name:t.text,type:v(_(e,`type`)),at:t.startIndex,annotations:M(e)}]})}function nt(e){return e.descendantsOfType(Object.keys(et)).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[{kind:et[e.type],name:t.text,at:t.startIndex,span:m(e),owner:k(e,$e),annotations:M(e),parameters:tt(_(e,`parameters`)),returnType:v(_(e,`returns`))}]})}function rt(){return null}function it(e){return e.descendantsOfType(`variable_declaration`).filter(e=>O(e)?.type===`local_declaration_statement`&&A(e,Be)).flatMap(e=>{let t=_(e,`type`);return h(e,`variable_declarator`).flatMap(e=>{let n=_(e,`name`);if(n===null)return[];let r=e.namedChildren.find(e=>!b(e,n))??null;return[{name:n.text,key:null,type:t===null||t.type===`implicit_type`?null:t.text,at:n.startIndex,initializer:We(r)}]})})}function at(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:m(e),expression:We(e.namedChildren.find(e=>!y(e))??null)}))}function ot(e){let t=O(e);return t!==null&&Ve.has(t.type)&&b(e,_(t,`expression`))}function st(e){let t=O(e);return t===null?!1:ot(e)||t.type===`invocation_expression`&&b(e,_(t,`function`))}function ct(e){let t=_(e,`expression`);if(t===null)return[];if(e.type===`element_access_expression`)return[E(e,t,null,_(e,`subscript`)?.namedChildren[0]?.namedChildren[0]??null)];let n=_(e,`name`);return n===null?[]:[E(e,t,n,null)]}function lt(e){return D(e.descendantsOfType([...Ve]).filter(e=>!st(e)).flatMap(ct))}function ut(e){return D(e.descendantsOfType([...Ve]).filter(ot).flatMap(ct))}function dt(e){let t=O(e);return t!==null&&He.has(t.type)?t:e}function ft(e){let t=O(e);if(t===null||t.type!==`initializer_expression`)return[];if(e.type===`initializer_expression`&&e.namedChildren.length===2){let[n,r]=e.namedChildren;return[T(n,r,dt(t),j)]}let n=_(e,`left`),r=_(e,`right`);return e.type===`assignment_expression`&&n?.type===`identifier`&&r!==null?[T(n,r,dt(t),j)]:[]}function pt(e){return D(e.descendantsOfType([`initializer_expression`,`assignment_expression`]).flatMap(ft))}function mt(e){return(e?.namedChildren??[]).filter(e=>e.type===`argument`).map(e=>{let t=g(e,`name_colon`);return w(e.namedChildren.find(e=>e.type!==`name_colon`)??e,t?.namedChildren[0]?.text??null,j)})}function ht(e){let t=_(e,`function`);if(t===null)return null;let n=t.type===`member_access_expression`,r=n?_(t,`name`):t,i=r?.type===`generic_name`?r.firstNamedChild:r;return i==null||i.type!==`identifier`?null:{receiver:n?v(_(t,`expression`)):null,name:i.text,arguments:mt(_(e,`arguments`)),at:i.startIndex,span:m(e),within:k(e,Be)}}function gt(e){return e.descendantsOfType(`invocation_expression`).flatMap(e=>ht(e)??[])}function _t(e){return e.descendantsOfType(`object_creation_expression`).flatMap(e=>{let t=_(e,`type`);return t===null?[]:[{type:x(t),arguments:mt(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,Be)}]})}function vt(e){return e.descendantsOfType(`using_directive`).flatMap(e=>{let t=e.namedChildren.filter(e=>e.type===`identifier`||e.type===`qualified_name`).at(-1);return t===void 0?[]:[{name:t.text,at:t.startIndex}]})}function yt(e){return e.descendantsOfType(`field_declaration`).flatMap(e=>{if(!N(e).includes(`const`))return[];let t=k(e,$e),n=g(e,`variable_declaration`);return n===null?[]:h(n,`variable_declarator`).flatMap(e=>{let n=_(e,`name`),r=S(e.namedChildren.at(-1)??null);return n===null||r===null?[]:[{name:n.text,value:r,owner:t,at:n.startIndex}]})})}const bt=/* @__PURE__ */ new Set([`function_declaration`,`method_declaration`,`func_literal`]),xt=/* @__PURE__ */ new Set([`selector_expression`,`index_expression`]);function St(e){let t=e.type===`unary_expression`?e.namedChildren[0]??null:e;return t?.type===`composite_literal`?v(_(t,`type`)):null}const Ct=e=>e===null?null:C(e,St);function wt(e){return e===null?null:e.text.slice(1,-1)}function Tt(e){return e.namedChildren.filter(e=>e.type===`field_declaration`).flatMap(e=>{let t=_(e,`type`),n=wt(_(e,`tag`)),r=h(e,`field_identifier`);return r.length===0?t===null?[]:[{kind:`embedded`,name:t.text,type:t.text,at:t.startIndex,modifiers:[],annotations:[],arity:0,tag:n}]:r.map(e=>({kind:`field`,name:e.text,type:t?.text??null,at:e.startIndex,modifiers:[],annotations:[],arity:0,tag:n}))})}function Et(e){let t=_(e,`name`),n=_(e,`type`);if(t===null||n===null||n.type!==`struct_type`)return null;let r=g(n,`field_declaration_list`);return{kind:`struct`,name:t.text,at:t.startIndex,span:m(e),modifiers:[],annotations:[],supertypes:[],generic:_(e,`type_parameters`)!==null,members:r===null?[]:Tt(r),constants:[]}}function Dt(e){return e.descendantsOfType(`type_spec`).flatMap(e=>Et(e)??[])}function Ot(e){let t=_(e,`receiver`)?.namedChildren[0]??null,n=t===null?null:_(t,`type`);return n===null?null:n.text.replace(/^\*/,``)}function kt(e){return(e?.namedChildren??[]).flatMap(e=>{if(e.type!==`parameter_declaration`&&e.type!==`variadic_parameter_declaration`)return[];let t=v(_(e,`type`));return h(e,`identifier`).map(e=>({name:e.text,type:t,at:e.startIndex,annotations:[]}))})}function At(e){return e.descendantsOfType([`function_declaration`,`method_declaration`]).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=e.type===`method_declaration`;return[{kind:n?`method`:`function`,name:t.text,at:t.startIndex,span:m(e),owner:n?Ot(e):null,annotations:[],parameters:kt(_(e,`parameters`)),returnType:v(_(e,`result`))}]})}function jt(e){return g(e.namedChildren.find(e=>e.type===`package_clause`)??e,`package_identifier`)?.text??null}function Mt(e){let t=[];for(let n of e.descendantsOfType(`short_var_declaration`).filter(e=>A(e,bt))){let e=_(n,`right`)?.namedChildren??[];_(n,`left`)?.namedChildren.forEach((n,r)=>{n.type===`identifier`&&t.push({name:n.text,key:null,type:null,at:n.startIndex,initializer:Ct(e[r]??null)})})}for(let n of e.descendantsOfType(`var_spec`).filter(e=>A(e,bt))){let e=_(n,`value`)?.namedChildren??[],r=v(_(n,`type`));h(n,`identifier`).forEach((n,i)=>t.push({name:n.text,key:null,type:r,at:n.startIndex,initializer:Ct(e[i]??null)}))}return t.sort((e,t)=>e.at-t.at)}function Nt(e){return e.descendantsOfType(`return_statement`).map(e=>{let t=e.namedChildren[0]??null,n=t?.type===`expression_list`?t.namedChildren.length===1?t.namedChildren[0]:null:t;return{at:e.startIndex,span:m(e),expression:Ct(n)}})}function Pt(e){let t=O(e);return t!==null&&xt.has(t.type)&&b(e,_(t,`operand`))}function Ft(e){let t=O(e);return t===null?!1:Pt(e)||t.type===`call_expression`&&b(e,_(t,`function`))}function It(e){let t=_(e,`operand`);if(t===null)return[];if(e.type===`index_expression`)return[E(e,t,null,_(e,`index`))];let n=_(e,`field`);return n===null?[]:[E(e,t,n,null)]}function Lt(e){return D(e.descendantsOfType([...xt]).filter(e=>!Ft(e)).flatMap(It))}function Rt(e){return D(e.descendantsOfType([...xt]).filter(Pt).flatMap(It))}function zt(e){let t=O(e)??e,n=O(t);return n?.type===`composite_literal`?n:t}function Bt(e){return e.descendantsOfType(`keyed_element`).flatMap(e=>{let t=_(e,`key`)?.namedChildren[0]??null,n=_(e,`value`)?.namedChildren[0]??null;return t===null||n===null?[]:[T(t,n,zt(e),St)]})}function Vt(e){return(e?.namedChildren??[]).filter(e=>!y(e)).map(e=>w(e,null,St))}function Ht(e){let t=_(e,`function`);if(t===null)return null;let n=t.type===`selector_expression`,r=n?_(t,`field`):t;return r===null||r.type!==`identifier`&&r.type!==`field_identifier`?null:{receiver:n?v(_(t,`operand`)):null,name:r.text,arguments:Vt(_(e,`arguments`)),at:r.startIndex,span:m(e),within:k(e,bt)}}function Ut(e){return e.descendantsOfType(`call_expression`).flatMap(e=>Ht(e)??[])}function Wt(e){return e.descendantsOfType(`import_spec`).flatMap(e=>{let t=_(e,`path`),n=S(t);return t===null||n===null?[]:[{name:n,at:t.startIndex}]})}function Gt(e){return e.descendantsOfType(`const_spec`).flatMap(e=>{let t=_(e,`name`),n=S(_(e,`value`)?.namedChildren.at(0)??null);return t===null||n===null?[]:[{name:t.text,value:n,owner:null,at:t.startIndex}]})}const Kt={class_declaration:`class`,record_declaration:`record`,enum_declaration:`enum`,interface_declaration:`interface`},qt=/* @__PURE__ */ new Set([`annotation`,`marker_annotation`]);function P(e){let t=e.type===`object_creation_expression`?_(e,`type`):null;return t===null?null:x(t)}const Jt=e=>e===null?null:C(e,P);function Yt(e){let t=g(e,`annotation_argument_list`);return t===null?[]:t.namedChildren.map(e=>{if(e.type!==`element_value_pair`)return w(e,null,P);let t=_(e,`value`),n=v(_(e,`key`));return t===null?w(e,n,P):{...C(t,P),name:n,at:t.startIndex}})}function F(e){return e===null?[]:e.namedChildren.filter(e=>qt.has(e.type)).map(e=>Pe(e,Yt))}function I(e){return e===null?[]:e.children.filter(e=>!e.isNamed).map(e=>e.type)}function Xt(e){let t=_(e,`superclass`)?.namedChildren[0],n=[...h(e,`super_interfaces`).flatMap(e=>Zt(e,`implements`)),...h(e,`extends_interfaces`).flatMap(e=>Zt(e,`extends`))];return[...t?[{name:x(t),relation:`extends`}]:[],...n]}function Zt(e,t){return(g(e,`type_list`)?.namedChildren??[]).map(e=>({name:x(e),relation:t}))}function Qt(e){let t=v(_(e,`name`));return t===null?null:{kind:`parameter`,name:t,type:v(_(e,`type`)),at:_(e,`name`)?.startIndex??e.startIndex,modifiers:I(g(e,`modifiers`)),annotations:F(g(e,`modifiers`)),arity:0,tag:null}}function $t(e){let t=[];for(let n of e.namedChildren)if(n.type===`field_declaration`){let e=g(n,`modifiers`),r=v(_(n,`type`));for(let i of h(n,`variable_declarator`)){let n=_(i,`name`);n!==null&&t.push({kind:`field`,name:n.text,type:r,at:n.startIndex,modifiers:I(e),annotations:F(e),arity:0,tag:null})}}else if(n.type===`method_declaration`){let e=_(n,`name`);if(e===null)continue;let r=g(n,`modifiers`),i=_(n,`parameters`);t.push({kind:`method`,name:e.text,type:v(_(n,`type`)),at:e.startIndex,modifiers:I(r),annotations:F(r),arity:i?.namedChildren.filter(e=>e.type===`formal_parameter`||e.type===`spread_parameter`).length??0,tag:null})}return t}function en(e,t){let n=_(e,`name`),r=g(e,`modifiers`),i=_(e,`body`),a=t===`record`?_(e,`parameters`):null,o=[];a!==null&&o.push(...a.namedChildren.filter(e=>e.type===`formal_parameter`).flatMap(e=>Qt(e)??[])),i!==null&&o.push(...$t(i));let s=i?.type===`enum_body`?i.namedChildren.filter(e=>e.type===`enum_constant`).map(e=>_(e,`name`)?.text??``):[],c=i?.type===`enum_body`?g(i,`enum_body_declarations`):null;return c!==null&&o.push(...$t(c)),{kind:t,name:n?.text??``,at:n?.startIndex??e.startIndex,span:m(e),modifiers:I(r),annotations:F(r),supertypes:Xt(e),generic:_(e,`type_parameters`)!==null,members:o,constants:s.filter(e=>e!==``)}}function tn(e){return e.descendantsOfType(Object.keys(Kt)).map(e=>en(e,Kt[e.type]))}const L=/* @__PURE__ */ new Set([`method_declaration`,`constructor_declaration`]),nn={method_declaration:`method`,constructor_declaration:`constructor`},rn=/* @__PURE__ */ new Set([`class_declaration`,`record_declaration`,`enum_declaration`,`interface_declaration`]);function an(e){return(e?.namedChildren??[]).filter(e=>e.type===`formal_parameter`||e.type===`spread_parameter`).flatMap(e=>{let t=_(e,`name`)??g(e,`identifier`);return t===null?[]:[{name:t.text,type:v(_(e,`type`)),at:t.startIndex,annotations:F(g(e,`modifiers`))}]})}function on(e){return e.descendantsOfType([...L]).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[{kind:nn[e.type],name:t.text,at:t.startIndex,span:m(e),owner:k(e,rn),annotations:F(g(e,`modifiers`)),parameters:an(_(e,`parameters`)),returnType:v(_(e,`type`))}]})}function sn(e){return e.namedChildren.find(e=>e.type===`package_declaration`)?.namedChildren.find(e=>e.type===`scoped_identifier`||e.type===`identifier`)?.text??null}function cn(e){return e.descendantsOfType(`local_variable_declaration`).filter(e=>A(e,L)).flatMap(e=>{let t=v(_(e,`type`));return h(e,`variable_declarator`).flatMap(e=>{let n=_(e,`name`);return n===null?[]:[{name:n.text,key:null,type:t===`var`?null:t,at:n.startIndex,initializer:Jt(_(e,`value`))}]})})}function ln(e){return e.descendantsOfType(`return_statement`).map(e=>{let t=e.namedChildren.find(e=>!y(e))??null;return{at:e.startIndex,span:m(e),expression:Jt(t)}})}function un(){return[]}function dn(){return[]}function fn(){return[]}function pn(e){return(e?.namedChildren??[]).filter(e=>!y(e)).map(e=>w(e,null,P))}function mn(e,t){return{receiver:v(_(e,`object`)),name:t.text,arguments:pn(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,L)}}function hn(e){return e.descendantsOfType(`method_invocation`).flatMap(e=>{let t=_(e,`name`);return t===null?[]:[mn(e,t)]})}function gn(e){return e.descendantsOfType(`object_creation_expression`).flatMap(e=>{let t=_(e,`type`);return t===null?[]:[{type:x(t),arguments:pn(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,L)}]})}function _n(e){return e.descendantsOfType(`import_declaration`).flatMap(e=>{let t=e.namedChildren.find(e=>e.type===`scoped_identifier`||e.type===`identifier`);return t===void 0?[]:[{name:g(e,`asterisk`)===null?t.text:`${t.text}.*`,at:t.startIndex}]})}function vn(e){return e.descendantsOfType(`field_declaration`).flatMap(e=>{if(!I(g(e,`modifiers`)).includes(`final`))return[];let t=k(e,rn);return h(e,`variable_declarator`).flatMap(e=>{let n=_(e,`name`),r=S(_(e,`value`));return n===null||r===null?[]:[{name:n.text,value:r,owner:t,at:n.startIndex}]})})}const yn=`annotation`,bn=/* @__PURE__ */ new Set([`val`,`var`]),xn=/* @__PURE__ */ new Set([`function_declaration`]),Sn=/* @__PURE__ */ new Set([`class_declaration`,`object_declaration`]),Cn=/* @__PURE__ */ new Set([`navigation_expression`,`index_expression`]);function R(e){let t=e.type===`call_expression`?e.firstNamedChild:null;return t?.type===`identifier`&&/^[A-Z]/.test(t.text)?t.text:null}const wn=e=>e===null?null:C(e,R);function Tn(e){return e===null?[]:h(e,`value_argument`).map(e=>{let t=e.children.findIndex(e=>e.type===`=`);if(t>0)return w(e.children.slice(t+1).find(e=>e.isNamed)??e,e.children[t-1].text,R);let n=g(e,`value_argument_label`);return w(e.namedChildren.find(e=>e.type!==`value_argument_label`)??e,n?n.text.replace(/\s*=\s*$/,``):null,R)})}function En(e){return Tn(e.descendantsOfType(`value_arguments`)[0]??null)}function Dn(e){return e.descendantsOfType(`user_type`)[0]?.text??e.text.replace(/^@/,``)}function z(e){return e===null?[]:e.namedChildren.filter(e=>e.type===yn).map(e=>({name:Dn(e),at:e.startIndex,arguments:En(e)}))}function B(e){return e===null?[]:e.namedChildren.filter(e=>e.type!==yn).map(e=>e.text)}function V(e){return v(g(e,`user_type`))}function On(e){let t=g(e,`modifiers`),n=e.children.find(e=>bn.has(e.type)),r=g(e,`identifier`);return n===void 0||r===null?null:{kind:`parameter`,name:r.text,type:V(e),at:r.startIndex,modifiers:B(t),annotations:z(t),arity:0,tag:null}}function kn(e){let t=g(e,`variable_declaration`),n=t?g(t,`identifier`):null;if(t===null||n===null)return null;let r=g(e,`modifiers`);return{kind:`field`,name:n.text,type:V(t),at:n.startIndex,modifiers:B(r),annotations:z(r),arity:0,tag:null}}function An(e){let t=_(e,`name`);if(t===null)return null;let n=g(e,`modifiers`),r=g(e,`function_value_parameters`);return{kind:`method`,name:t.text,type:V(e),at:t.startIndex,modifiers:B(n),annotations:z(n),arity:r?h(r,`parameter`).length:0,tag:null}}function jn(e){let t=g(e,`delegation_specifiers`);return t===null?[]:h(t,`delegation_specifier`).flatMap(e=>{let t=g(e,`constructor_invocation`),n=g(t||e,`user_type`);return n===null?[]:[{name:n.text,relation:t?`extends`:`implements`}]})}function Mn(e){let t=g(e,`modifiers`);return h(t??e,`class_modifier`).some(e=>e.text===`enum`)?`enum`:e.children.some(e=>e.type===`interface`)?`interface`:`class`}function Nn(e){let t=_(e,`name`),n=g(e,`modifiers`),r=Mn(e),i=[],a=g(e,`primary_constructor`),o=a?g(a,`class_parameters`):null;for(let e of o?.namedChildren??[]){if(e.type!==`class_parameter`)continue;let t=On(e);t&&i.push(t)}let s=g(e,`class_body`);for(let e of s?.namedChildren??[])if(e.type===`property_declaration`){let t=kn(e);t&&i.push(t)}else if(e.type===`function_declaration`){let t=An(e);t&&i.push(t)}let c=g(e,`enum_class_body`)?.namedChildren.filter(e=>e.type===`enum_entry`).map(e=>g(e,`identifier`)?.text??``)??[];return{kind:r,name:t?.text??``,at:t?.startIndex??e.startIndex,span:m(e),modifiers:B(n),annotations:z(n),supertypes:jn(e),generic:g(e,`type_parameters`)!==null,members:i,constants:c.filter(e=>e!==``)}}function Pn(e){return e.descendantsOfType([`class_declaration`,`object_declaration`]).map(Nn)}function Fn(e){let t=null;return(e?.namedChildren??[]).flatMap(e=>{if(e.type===`parameter_modifiers`)return t=e,[];if(e.type!==`parameter`)return[];let n=t;t=null;let r=g(e,`identifier`);return r===null?[]:[{name:r.text,type:V(e),at:r.startIndex,annotations:z(n)}]})}function In(e){return e.descendantsOfType(`function_declaration`).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=k(e,Sn);return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:m(e),owner:n,annotations:z(g(e,`modifiers`)),parameters:Fn(g(e,`function_value_parameters`)),returnType:V(e)}]})}function Ln(e){let t=e.namedChildren.find(e=>e.type===`package_header`)??null;return t===null?null:v(g(t,`qualified_identifier`))}function Rn(e){let t=e.children.findIndex(e=>e.type===`=`);return t<0?null:wn(e.children.slice(t+1).find(e=>e.isNamed)??null)}function zn(e){return e.descendantsOfType(`property_declaration`).filter(e=>A(e,xn)).flatMap(e=>{let t=g(e,`variable_declaration`),n=t?g(t,`identifier`):null;return t===null||n===null?[]:[{name:n.text,key:null,type:V(t),at:n.startIndex,initializer:Rn(e)}]})}function Bn(e){return e.descendantsOfType(`return_expression`).map(e=>({at:e.startIndex,span:m(e),expression:wn(e.namedChildren[0]??null)}))}function Vn(e){let t=O(e);return t!==null&&Cn.has(t.type)&&b(e,t.firstNamedChild)}function Hn(e){let t=O(e);return t===null?!1:Vn(e)||t.type===`call_expression`&&b(e,t.firstNamedChild)}function Un(e){let t=e.firstNamedChild;if(t===null)return[];if(e.type===`index_expression`)return[E(e,t,null,e.namedChildren[1]??null)];let n=e.lastNamedChild;return n===null||n.type!==`identifier`?[]:[E(e,t,n,null)]}function Wn(e){return D(e.descendantsOfType([...Cn]).filter(e=>!Hn(e)).flatMap(Un))}function Gn(e){return D(e.descendantsOfType([...Cn]).filter(Vn).flatMap(Un))}function Kn(e){return e.descendantsOfType(`infix_expression`).flatMap(e=>{let[t,n,r]=e.namedChildren;return n?.text===`to`&&r!==void 0?[T(t,r,e,R)]:[]})}function qn(e){let t=e.firstNamedChild;if(t===null)return null;let n=t.type===`navigation_expression`,r=n?t.lastNamedChild:t;return r===null||r.type!==`identifier`?null:{receiver:n?v(t.firstNamedChild):null,name:r.text,arguments:Tn(g(e,`value_arguments`)),at:r.startIndex,span:m(e),within:k(e,xn)}}function Jn(e){return e.descendantsOfType(`call_expression`).flatMap(e=>qn(e)??[])}function Yn(e){return e.descendantsOfType(`import`).flatMap(e=>{let t=g(e,`qualified_identifier`);return t===null?[]:[{name:/\*$/.test(e.text)?`${t.text}.*`:t.text,at:t.startIndex}]})}function Xn(e){return e.descendantsOfType(`property_declaration`).flatMap(e=>{if(!B(g(e,`modifiers`)).includes(`const`))return[];let t=g(g(e,`variable_declaration`)??e,`identifier`),n=S(e.lastNamedChild);return t===null||n===null?[]:[{name:t.text,value:n,owner:k(e,Sn),at:t.startIndex}]})}const H=/* @__PURE__ */ new Set([`function_definition`]),Zn=/* @__PURE__ */ new Set([`class_definition`,`object_definition`,`trait_definition`]),Qn=/* @__PURE__ */ new Set([`field_expression`]);function $n(e){let t=e.charAt(0);return t!==t.toLowerCase()}function U(e){let t=e.type===`call_expression`?_(e,`function`):null;return t?.type===`identifier`&&$n(t.text)?t.text:null}const er=e=>e===null?null:C(e,U);function tr(e){return e===null?[]:e.namedChildren.map(e=>{if(e.type===`assignment_expression`){let t=_(e,`left`),n=_(e,`right`);if(t!==null&&n!==null)return w(n,t.text,U)}return w(e,null,U)})}function W(e){let t=g(e,`modifiers`);return[...h(e,`annotation`),...t===null?[]:h(t,`annotation`)].map(e=>Pe(e,e=>tr(_(e,`arguments`)))).sort((e,t)=>e.at-t.at)}function G(e){let t=g(e,`modifiers`);return t===null?[]:t.children.filter(e=>e.type!==`annotation`).map(e=>e.text)}function nr(e){return(e?.namedChildren??[]).flatMap(e=>{if(e.type!==`parameter`)return[];let t=_(e,`name`);return t===null?[]:[{name:t.text,type:v(_(e,`type`)),at:t.startIndex,annotations:W(e)}]})}function rr(e){if(e.type===`function_definition`){let t=_(e,`name`);return t===null?null:{kind:`method`,name:t.text,type:v(_(e,`return_type`)),at:t.startIndex,modifiers:G(e),annotations:W(e),arity:nr(_(e,`parameters`)).length,tag:null}}if(e.type!==`val_definition`&&e.type!==`var_definition`)return null;let t=_(e,`pattern`);return t===null||t.type!==`identifier`?null:{kind:`field`,name:t.text,type:v(_(e,`type`)),at:t.startIndex,modifiers:G(e),annotations:W(e),arity:0,tag:null}}function ir(e){let t=e.children.some(e=>e.type===`case`);return(_(e,`class_parameters`)?.namedChildren??[]).flatMap(e=>{let n=_(e,`name`),r=e.children.some(e=>e.type===`val`||e.type===`var`);return n===null||!r&&!t?[]:[{kind:`field`,name:n.text,type:v(_(e,`type`)),at:n.startIndex,modifiers:[],annotations:W(e),arity:0,tag:null}]})}function ar(e){let t=g(e,`extends_clause`);if(t===null)return[];let n=e.type===`trait_definition`?`implements`:`extends`;return t.childrenForFieldName(`type`).map((e,t)=>({name:e.text,relation:t===0?n:`implements`}))}function or(e){return e.type===`trait_definition`?`interface`:`class`}function sr(e){let t=_(e,`name`),n=_(e,`body`),r=[...ir(e),...(n?.namedChildren??[]).flatMap(e=>rr(e)??[])];return{kind:or(e),name:t?.text??``,at:t?.startIndex??e.startIndex,span:m(e),modifiers:G(e),annotations:W(e),supertypes:ar(e),generic:g(e,`type_parameters`)!==null,members:r,constants:[]}}function cr(e){let t=g(e,`package_clause`);return v(t===null?null:_(t,`name`))}function lr(e){return e.descendantsOfType([...Zn]).map(sr)}function ur(e){return e.descendantsOfType([...H]).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=k(e,Zn);return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:m(e),owner:n,annotations:W(e),parameters:nr(_(e,`parameters`)),returnType:v(_(e,`return_type`))}]})}function dr(e){return e.descendantsOfType([`val_definition`,`var_definition`]).filter(e=>A(e,H)).flatMap(e=>{let t=_(e,`pattern`);return t===null||t.type!==`identifier`?[]:[{name:t.text,key:null,type:v(_(e,`type`)),at:t.startIndex,initializer:er(_(e,`value`))}]})}function fr(e){return e.descendantsOfType(`return_expression`).map(e=>({at:e.startIndex,span:m(e),expression:er(e.namedChildren[0]??null)}))}function pr(e){let t=O(e);return t!==null&&Qn.has(t.type)&&b(e,_(t,`value`))}function mr(e){let t=O(e);return t===null?!1:pr(e)||t.type===`call_expression`&&b(e,_(t,`function`))}function hr(e){let t=_(e,`value`),n=_(e,`field`);return t===null||n===null?[]:[E(e,t,n,null)]}function gr(e){return D(e.descendantsOfType([...Qn]).filter(e=>!mr(e)).flatMap(hr))}function _r(e){return D(e.descendantsOfType([...Qn]).filter(pr).flatMap(hr))}function vr(e){return e.descendantsOfType(`infix_expression`).flatMap(e=>{let t=_(e,`left`),n=_(e,`right`);return _(e,`operator`)?.text===`->`&&t!==null&&n!==null?[T(t,n,e,U)]:[]})}function yr(e){let t=_(e,`function`);if(t===null)return null;let n=t.type===`field_expression`,r=n?_(t,`field`):t;return r===null||r.type!==`identifier`?null:{receiver:n?v(_(t,`value`)):null,name:r.text,arguments:tr(_(e,`arguments`)),at:r.startIndex,span:m(e),within:k(e,H)}}function br(e){return e.descendantsOfType(`call_expression`).flatMap(e=>yr(e)??[])}function xr(e){return e.descendantsOfType(`instance_expression`).flatMap(e=>{let t=e.firstNamedChild;return t===null?[]:[{type:t.text,arguments:tr(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,H)}]})}function Sr(e){return e.descendantsOfType(`import_declaration`).flatMap(e=>{let t=e.childrenForFieldName(`path`).filter(e=>e.isNamed).map(e=>e.text).join(`.`),n=g(e,`namespace_selectors`);return n===null?g(e,`namespace_wildcard`)===null?[{name:t,at:e.startIndex}]:[{name:`${t}.*`,at:e.startIndex}]:n.namedChildren.map(n=>({name:`${t}.${n.text}`,at:e.startIndex}))})}function Cr(e){return e.descendantsOfType(`val_definition`).flatMap(e=>{if(!G(e).includes(`final`))return[];let t=_(e,`pattern`),n=S(_(e,`value`));return t===null||t.type!==`identifier`||n===null?[]:[{name:t.text,value:n,owner:k(e,Zn),at:t.startIndex}]})}const wr=/* @__PURE__ */ new Set([`identifier`,`attribute`,`subscript`]),Tr=/* @__PURE__ */ new Set([`function_definition`]),Er=/* @__PURE__ */ new Set([`class_definition`]),Dr={attribute:`object`,subscript:`value`};function K(e){let t=e.type===`call`?_(e,`function`):null;return t?.type===`identifier`&&/^[A-Z]/.test(t.text)?t.text:null}const Or=e=>e===null?null:C(e,K);function kr(e){return(e?.namedChildren??[]).filter(e=>!y(e)).map(e=>e.type===`keyword_argument`?{...C(_(e,`value`)??e,K),name:_(e,`name`)?.text??null,at:e.startIndex}:w(e,null,K))}function Ar(e){return e.type===`call`?{name:_(e,`function`)?.text??e.text,at:e.startIndex,arguments:kr(_(e,`arguments`))}:{name:e.text,at:e.startIndex,arguments:[]}}function jr(e){return h(e,`decorator`).flatMap(e=>{let t=e.namedChildren[0];return t===void 0?[]:[Ar(t)]})}function Mr(e){return(_(e,`superclasses`)?.namedChildren??[]).flatMap(e=>{if(!wr.has(e.type)&&e.type!==`subscript`)return[];let t=e.type===`subscript`?_(e,`value`):e;return t===null?[]:[{name:t.text,relation:`extends`}]})}function Nr(e){return e.type===`expression_statement`?g(e,`assignment`):null}function Pr(e){let t=_(e,`left`);if(t===null||t.type!==`identifier`)return[];let n=_(e,`right`),r=_(e,`type`);if(r===null&&t.text===`model_config`)return[{kind:`config`,name:t.text,type:null,at:t.startIndex,modifiers:[],annotations:[],arity:0,tag:null}];if(r===null)return[];let i=n!==null&&n.type===`call`?[Ar(n)]:[];return[{kind:`field`,name:t.text,type:r.text,at:t.startIndex,modifiers:[],annotations:i,arity:0,tag:null}]}function Fr(e,t){let n=_(e,`name`);return n===null?[]:e.type===`class_definition`?[{kind:`config`,name:n.text,type:null,at:n.startIndex,modifiers:[],annotations:t,arity:0,tag:null}]:e.type===`function_definition`?[{kind:`method`,name:n.text,type:_(e,`return_type`)?.text??null,at:n.startIndex,modifiers:[],annotations:t,arity:_(e,`parameters`)?.namedChildren.length??0,tag:null}]:[]}function Ir(e){return e.namedChildren.flatMap(e=>{if(e.type===`decorated_definition`){let t=_(e,`definition`);return t===null?[]:Fr(t,jr(e))}let t=Nr(e);return t===null?Fr(e,[]):Pr(t)})}function Lr(e){return e.namedChildren.flatMap(e=>{let t=Nr(e);if(t===null||_(t,`type`)!==null)return[];let n=_(t,`left`);return n?.type===`identifier`?[n.text]:[]})}function Rr(e){let t=_(e,`name`);if(t===null)return null;let n=_(e,`body`),r=O(e)?.type===`decorated_definition`?O(e):null;return{kind:`class`,name:t.text,at:t.startIndex,span:m(e),modifiers:[],annotations:r===null?[]:jr(r),supertypes:Mr(e),generic:_(e,`type_parameters`)!==null,members:n===null?[]:Ir(n),constants:n===null?[]:Lr(n)}}function zr(e){return e.descendantsOfType(`class_definition`).flatMap(e=>Rr(e)??[])}function Br(e){if(e.type===`identifier`)return{name:e.text,type:null,at:e.startIndex,annotations:[]};let t=e.type===`typed_parameter`?g(e,`identifier`):_(e,`name`);return t===null?null:{name:t.text,type:v(_(e,`type`)),at:t.startIndex,annotations:[]}}function Vr(e){return e.descendantsOfType(`function_definition`).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=k(e,Er),r=O(e)?.type===`decorated_definition`?O(e):null;return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:m(e),owner:n,annotations:r===null?[]:jr(r),parameters:(_(e,`parameters`)?.namedChildren??[]).flatMap(e=>Br(e)??[]),returnType:v(_(e,`return_type`))}]})}function Hr(){return null}function Ur(e){return e.descendantsOfType(`assignment`).filter(e=>O(e)?.type===`expression_statement`&&A(e,Tr)).flatMap(e=>{let t=_(e,`left`);return t===null||t.type!==`identifier`?[]:[{name:t.text,key:null,type:v(_(e,`type`)),at:t.startIndex,initializer:Or(_(e,`right`))}]})}function Wr(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:m(e),expression:Or(e.namedChildren.find(e=>!y(e))??null)}))}function Gr(e){let t=O(e),n=t===null?void 0:Dr[t.type];return t!==null&&n!==void 0&&b(e,_(t,n))}function Kr(e){let t=O(e);return t===null?!1:Gr(e)||t.type===`call`&&b(e,_(t,`function`))}function qr(e){let t=_(e,Dr[e.type]);if(t===null)return[];if(e.type===`subscript`)return[E(e,t,null,_(e,`subscript`))];let n=_(e,`attribute`);return n===null?[]:[E(e,t,n,null)]}function Jr(e){return D(e.descendantsOfType([`attribute`,`subscript`]).filter(e=>!Kr(e)).flatMap(qr))}function Yr(e){return D(e.descendantsOfType([`attribute`,`subscript`]).filter(Gr).flatMap(qr))}function Xr(e){return e.descendantsOfType(`pair`).flatMap(e=>{let t=O(e),n=_(e,`key`),r=_(e,`value`);return t===null||t.type!==`dictionary`||n===null||r===null?[]:[T(n,r,t,K)]})}function Zr(e){let t=_(e,`function`);for(;t!==null&&t.type===`call`;)t=_(t,`function`);return t}function Qr(e){let t=Zr(e);if(t===null)return null;let n=t.type===`attribute`,r=n?_(t,`attribute`):t;return r===null||r.type!==`identifier`?null:{receiver:n?v(_(t,`object`)):null,name:r.text,arguments:kr(_(e,`arguments`)),at:r.startIndex,span:m(e),within:k(e,Tr)}}function $r(e){return e.descendantsOfType(`call`).flatMap(e=>Qr(e)??[])}function ei(e){return e.descendantsOfType([`import_statement`,`import_from_statement`]).flatMap(e=>{if(e.type===`import_from_statement`){let t=_(e,`module_name`);return t===null?[]:[{name:t.text,at:t.startIndex}]}return e.namedChildren.flatMap(e=>{let t=e.type===`aliased_import`?_(e,`name`):e;return t!==null&&(t.type===`dotted_name`||t.type===`identifier`)?[{name:t.text,at:t.startIndex}]:[]})})}function ti(e){return e.namedChildren.flatMap(e=>{let t=Nr(e);if(t===null||_(t,`type`)!==null)return[];let n=_(t,`left`),r=S(_(t,`right`));return n?.type===`identifier`&&r!==null?[{name:n.text,value:r,owner:null,at:n.startIndex}]:[]})}const ni={class_declaration:`class`,abstract_class_declaration:`class`,interface_declaration:`interface`,enum_declaration:`enum`,type_alias_declaration:`alias`},ri=/* @__PURE__ */ new Set([`abstract`,`declare`,`get`,`override`,`private`,`protected`,`public`,`readonly`,`set`,`static`]),ii=/* @__PURE__ */ new Set([`required_parameter`,`optional_parameter`]),ai=/* @__PURE__ */ new Set([`required_parameter`,`optional_parameter`,`rest_pattern`]),oi=/* @__PURE__ */ new Set([`public_field_definition`,`field_definition`,`property_signature`]),si=/* @__PURE__ */ new Set([`method_signature`,`method_definition`]),q=/* @__PURE__ */ new Set([`function_declaration`,`generator_function_declaration`,`method_definition`]),ci=/* @__PURE__ */ new Set([...q,`arrow_function`,`function_expression`,`function`]),li=/* @__PURE__ */ new Set([`class_declaration`,`abstract_class_declaration`]),ui=/* @__PURE__ */ new Set([`member_expression`,`subscript_expression`]),J=e=>e.type===`string`?e.text.slice(1,-1):e.text;function Y(e){return e.type===`new_expression`?v(_(e,`constructor`)):null}const di=e=>e===null?null:C(e,Y);function X(e){return e.children.filter(e=>ri.has(e.type)||e.type===`accessibility_modifier`).map(e=>e.text)}function fi(e){return(_(e,`type`)??_(e,`return_type`))?.namedChildren[0]?.text??null}function Z(e,t,n,r=0){return{kind:e,name:J(n),type:fi(t),at:n.startIndex,modifiers:X(t),annotations:[],arity:r,tag:null}}function pi(e){return _(e,`parameters`)?.namedChildren.filter(e=>ai.has(e.type)).length??0}function mi(e){return(_(e,`parameters`)?.namedChildren??[]).flatMap(e=>{let t=_(e,`pattern`);return!ii.has(e.type)||t===null||X(e).length===0?[]:[Z(`parameter`,e,t)]})}function hi(e){return e.namedChildren.flatMap(e=>{if(oi.has(e.type)){let t=_(e,`name`)??_(e,`property`);return t===null?[]:[Z(`field`,e,t)]}if(e.type===`index_signature`){let t=_(e,`name`);return t===null?[]:[Z(`index`,e,t)]}if(si.has(e.type)){let t=_(e,`name`);if(t===null)return[];let n=X(e);return n.includes(`get`)||n.includes(`set`)?[Z(`accessor`,e,t)]:t.text===`constructor`?mi(e):[Z(`method`,e,t,pi(e))]}return[]})}function gi(e){let t=g(e,`extends_clause`),n=t?_(t,`value`):e.namedChildren.find(e=>e.type===`identifier`||e.type===`member_expression`)??null;return n===null?[]:[{name:x(n),relation:`extends`}]}function _i(e){let t=h(e,`extends_type_clause`).flatMap(e=>e.namedChildren.map(e=>({name:x(e),relation:`extends`}))),n=g(e,`class_heritage`);if(n===null)return t;let r=(g(n,`implements_clause`)?.namedChildren??[]).map(e=>({name:x(e),relation:`implements`}));return[...gi(n),...r]}function vi(e){return e.namedChildren.flatMap(e=>{if(e.type===`enum_assignment`){let t=_(e,`name`);return t===null?[]:[J(t)]}return e.type===`property_identifier`||e.type===`string`?[J(e)]:[]})}function yi(e,t){let n=_(e,`name`);if(n===null)return null;let r=t===`alias`?_(e,`value`):_(e,`body`);return t===`alias`&&r?.type!==`object_type`?null:{kind:t,name:n.text,at:n.startIndex,span:m(e),modifiers:X(e),annotations:[],supertypes:_i(e),generic:_(e,`type_parameters`)!==null,members:r===null||t===`enum`?[]:hi(r),constants:t===`enum`&&r!==null?vi(r):[]}}function bi(e){return e.descendantsOfType(Object.keys(ni)).flatMap(e=>yi(e,ni[e.type])??[])}function Q(e){return(e?.namedChildren??[]).filter(e=>!y(e)).map(e=>w(e,null,Y))}function xi(e){return h(e,`decorator`).flatMap(e=>{let t=e.namedChildren[0];return t===void 0?[]:t.type===`call_expression`?[{name:v(_(t,`function`))??t.text,at:t.startIndex,arguments:Q(_(t,`arguments`))}]:[{name:t.text,at:t.startIndex,arguments:[]}]})}function Si(e){return(e?.namedChildren??[]).filter(e=>ii.has(e.type)).flatMap(e=>{let t=_(e,`pattern`);return t===null||t.type!==`identifier`?[]:[{name:t.text,type:v(_(e,`type`)?.namedChildren[0]??null),at:t.startIndex,annotations:[]}]})}function Ci(e){return e.descendantsOfType([...q]).flatMap(e=>{let t=_(e,`name`);if(t===null)return[];let n=k(e,li),r=e.type===`method_definition`;return[{kind:t.text===`constructor`?`constructor`:r?`method`:`function`,name:t.text,at:t.startIndex,span:m(e),owner:r?n:null,annotations:xi(e),parameters:Si(_(e,`parameters`)),returnType:v(_(e,`return_type`)?.namedChildren[0]??null)}]})}function wi(){return null}function Ti(e){return v(_(e,`type`)?.namedChildren[0]??null)}function Ei(e,t){let n=(e,n)=>({name:n.text,key:e,type:null,at:n.startIndex,initializer:t});return e.namedChildren.flatMap(e=>{if(e.type===`shorthand_property_identifier_pattern`)return[n(e.text,e)];if(e.type===`object_assignment_pattern`){let t=_(e,`left`);return t?.type===`shorthand_property_identifier_pattern`?[n(t.text,t)]:[]}if(e.type!==`pair_pattern`)return[];let t=_(e,`key`),r=_(e,`value`),i=r?.type===`assignment_pattern`?_(r,`left`):r;return t!==null&&i?.type===`identifier`?[n(J(t),i)]:[]})}function Di(e){return e.descendantsOfType(`variable_declarator`).filter(e=>A(e,ci)).flatMap(e=>{let t=_(e,`name`),n=di(_(e,`value`));return t===null?[]:t.type===`object_pattern`?Ei(t,n):t.type===`identifier`?[{name:t.text,key:null,type:Ti(e),at:t.startIndex,initializer:n}]:[]})}function Oi(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:m(e),expression:di(e.namedChildren.find(e=>!y(e))??null)}))}function ki(e){let t=O(e);return t!==null&&ui.has(t.type)&&b(e,_(t,`object`))}function Ai(e){let t=O(e);return t===null?!1:ki(e)||t.type===`call_expression`&&b(e,_(t,`function`))}function ji(e){let t=_(e,`object`);if(t===null)return[];if(e.type!==`member_expression`)return[E(e,t,null,_(e,`index`))];let n=_(e,`property`);return n===null?[]:[E(e,t,n,null)]}function Mi(e){return D(e.descendantsOfType([...ui]).filter(e=>!Ai(e)).flatMap(ji))}function Ni(e){return D(e.descendantsOfType([...ui]).filter(ki).flatMap(ji))}function Pi(e){return D(e.descendantsOfType([`pair`,`shorthand_property_identifier`]).flatMap(e=>{let t=O(e);if(t===null||t.type!==`object`)return[];if(e.type===`shorthand_property_identifier`)return[T(e,e,t,Y)];let n=_(e,`key`),r=_(e,`value`);return n===null||r===null?[]:[T(n,r,t,Y)]}))}function Fi(e){let t=_(e,`function`);if(t===null)return null;let n=t.type===`member_expression`,r=n?_(t,`property`):t;return r===null||r.type!==`identifier`&&r.type!==`property_identifier`?null:{receiver:n?v(_(t,`object`)):null,name:r.text,arguments:Q(_(e,`arguments`)),at:r.startIndex,span:m(e),within:k(e,q)}}function Ii(e){return e.descendantsOfType(`call_expression`).flatMap(e=>Fi(e)??[])}const Li=e=>{let t=O(e);return t?.type===`program`||t?.type===`export_statement`&&O(t)?.type===`program`};function Ri(e){return e.descendantsOfType(`new_expression`).flatMap(e=>{let t=_(e,`constructor`);return t===null?[]:[{type:t.text,arguments:Q(_(e,`arguments`)),at:t.startIndex,span:m(e),within:k(e,q)}]})}function zi(e){return e.descendantsOfType(`import_statement`).flatMap(e=>{let t=_(e,`source`),n=S(t);return t===null||n===null?[]:[{name:n,at:t.startIndex}]})}function Bi(e){return e.descendantsOfType(`lexical_declaration`).flatMap(e=>g(e,`const`)===null||!Li(e)?[]:h(e,`variable_declarator`).flatMap(e=>{let t=_(e,`name`),n=S(_(e,`value`));return t===null||n===null?[]:[{name:t.text,value:n,owner:null,at:t.startIndex}]}))}const Vi=()=>[],Hi={packageOf:sn,declarations:tn,callables:on,locals:cn,returns:ln,accesses:un,innerAccesses:dn,pairs:fn,calls:hn,constructions:gn,imports:_n,constants:vn},Ui={packageOf:wi,declarations:bi,callables:Ci,locals:Di,returns:Oi,accesses:Mi,innerAccesses:Ni,pairs:Pi,calls:Ii,constructions:Ri,imports:zi,constants:Bi},Wi={java:Hi,kotlin:{packageOf:Ln,declarations:Pn,callables:In,locals:zn,returns:Bn,accesses:Wn,innerAccesses:Gn,pairs:Kn,calls:Jn,constructions:Vi,imports:Yn,constants:Xn},typescript:Ui,javascript:Ui,python:{packageOf:Hr,declarations:zr,callables:Vr,locals:Ur,returns:Wr,accesses:Jr,innerAccesses:Yr,pairs:Xr,calls:$r,constructions:Vi,imports:ei,constants:ti},go:{packageOf:jt,declarations:Dt,callables:At,locals:Mt,returns:Nt,accesses:Lt,innerAccesses:Rt,pairs:Bt,calls:Ut,constructions:Vi,imports:Wt,constants:Gt},groovy:Hi,scala:{packageOf:cr,declarations:lr,callables:ur,locals:dr,returns:fr,accesses:gr,innerAccesses:_r,pairs:vr,calls:br,constructions:xr,imports:Sr,constants:Cr},csharp:{packageOf:rt,declarations:Qe,callables:nt,locals:it,returns:at,accesses:lt,innerAccesses:ut,pairs:pt,calls:gt,constructions:_t,imports:vt,constants:yt}},Gi=/* @__PURE__ */ new Map;function Ki(e,t){let n=`${e.runtimeFile}\0${e.grammarFiles[t]}`,r=Gi.get(n);return r===void 0&&(r=Promise.all([c(e.runtimeFile),c(e.grammarFiles[t])]).then(([e,t])=>a(`sha256`).update(e).update(t).digest(`hex`)),Gi.set(n,r),r.catch(()=>Gi.delete(n))),r}function qi(e){let t=null,n=/* @__PURE__ */ new Map,r=!1,i=()=>(t??=import(`web-tree-sitter`).then(async t=>(await t.Parser.init({locateFile:()=>e.runtimeFile}),t)),t),a=t=>{let r=n.get(t);if(r)return r;let a=(async()=>{let{Language:n,Parser:r}=await i(),a=await n.load(new Uint8Array(await c(e.grammarFiles[t]))),o=new r;return o.setLanguage(a),o})();return n.set(t,a),a.catch(()=>n.delete(t)),a};return{async facts(e){if(r)throw Error(`The syntax port is disposed`);let t=p(e.path);if(t===null)throw Error(`No grammar is registered for ${e.path}`);let n=(await a(t)).parse(e.text),i=ie(e.text);if(n===null)return{path:e.path,language:t,package:null,errors:[{offset:0,line:1}],lineStarts:i,declarations:[],callables:[],locals:[],returns:[],accesses:[],innerAccesses:[],pairs:[],calls:[],constructions:[],imports:[],constants:[]};try{let r=Wi[t],a=n.rootNode;return{path:e.path,language:t,package:r.packageOf(a),errors:Ji(a,e.text),lineStarts:i,declarations:r.declarations(a),callables:r.callables(a),locals:r.locals(a),returns:r.returns(a),accesses:r.accesses(a),innerAccesses:r.innerAccesses(a),pairs:r.pairs(a),calls:r.calls(a),constructions:r.constructions(a),imports:r.imports(a),constants:r.constants(a)}}finally{n.delete()}},version:t=>Ki(e,t),async dispose(){r=!0;let e=[...n.values()];n.clear();for(let t of e)(await t.catch(()=>null))?.delete()}}}function Ji(e,t){let n=[],r=e=>{if(!(n.length>=20||!e.hasError)){if(e.isError||e.isMissing)n.push({offset:e.startIndex,line:ne(t,e.startIndex)});else for(let t of e.children)r(t)}};return r(e),n}function Yi(){let e=n.join(import.meta.dirname,`syntax-worker.js`);return i(e)?{file:e,execArgv:[]}:{file:n.join(import.meta.dirname,`worker.ts`),execArgv:[`--experimental-strip-types`]}}function Xi({locations:e,size:t}){let n=[],r=Yi(),i=0,a=0,o=!1,s=e=>{let t=n.indexOf(e);t>=0&&n.splice(t,1)},c=e=>(s(e),e.worker.terminate()),l=()=>{let t=new te(r.file,{execArgv:r.execArgv,workerData:{locations:e}}),i={worker:t,waiting:/* @__PURE__ */ new Map,retired:!1};t.on(`message`,e=>{let n=i.waiting.get(e.id);n!==void 0&&(i.waiting.delete(e.id),e.recycle&&(i.retired=!0,s(i)),i.waiting.size===0&&(i.retired||a===0?c(i):t.unref()),e.error===void 0?e.facts!==void 0&&n.resolve(e.facts):n.reject(Error(e.error)))});let o=e=>{for(let t of i.waiting.values())t.reject(e);i.waiting.clear(),s(i)};return t.on(`error`,e=>o(e instanceof Error?e:Error(String(e)))),t.on(`exit`,()=>o(/* @__PURE__ */ Error(`The syntax worker stopped`))),t.unref(),n.push(i),i},ee=()=>{let e=n.find(e=>e.waiting.size===0);return e===void 0?n.length<t?l():n.reduce((e,t)=>t.waiting.size<e.waiting.size?t:e):e};return{hold(){a+=1;let e=!0;return async()=>{e&&(e=!1,--a,a>0||await Promise.all(n.filter(e=>e.waiting.size===0).map(e=>c(e))))}},live:()=>n.length,facts(e){if(o)return Promise.reject(/* @__PURE__ */ Error(`The syntax port is disposed`));let t=ee(),n=i+=1;return new Promise((r,i)=>{t.waiting.set(n,{resolve:r,reject:i}),t.worker.ref(),t.worker.postMessage({id:n,source:e,recycle:e.text.length>=524288})})},version(t){return Ki(e,t)},async dispose(){o=!0,await Promise.all([...n].map(e=>e.worker.terminate())),n.length=0}}}const Zi=e=>a(`sha256`).update(e).digest(`hex`);function Qi(e,t=null,n=!0){let r=/* @__PURE__ */ new Map,i=async(n,r)=>{let i=p(n.path);if(t===null||i===null)return e.facts(n);let o=a(`sha256`).update([`facts-2`,await e.version(i),n.path,r].join(`\0`)).digest(`hex`),s=await t.read(o);if(s!==null)return s;let c=await e.facts(n);return await t.write(o,c),c},o=e=>{if(!n)return i(e,Zi(e.text));let t=Zi(e.text),a=r.get(e.path);if(a!==void 0&&a.digest===t)return a.facts;let o=i(e,t);return r.set(e.path,{digest:t,facts:o}),o.catch(()=>{r.get(e.path)?.facts===o&&r.delete(e.path)}),o};return{factsOf:e=>Promise.all(e.map(o))}}function $i(e){return Math.min(4,Math.max(1,Math.floor(e/2)))}const ea=$i(r());function ta(e,t){return e>200?t:0}let $={workers:0,cacheDirectory:null,remember:!0},na=null,ra=null;function ia(e){$=e,na=null,ra?.dispose(),ra=null}function aa(){return na??=oa(),na}function oa(){let e=$.cacheDirectory===null?null:Se($.cacheDirectory),t=Ee(),n=$.workers>0?Xi({locations:t,size:$.workers}):null;ra=n;let r={cache:Qi(qi(t),e,$.remember),hold:null},i=n===null?null:{cache:Qi(n,e,$.remember),hold:()=>n.hold()},a=async(e,t)=>{let n=e.hold?.();try{return await t(t=>e.cache.factsOf(t))}finally{await n?.()}};return{factsOf:e=>a(i??r,t=>t(e)),pass:(e,t)=>a(i!==null&&ta(e,$.workers)>0?i:r,t)}}async function sa(e){let t=e.filter(e=>p(e.file)!==null);return aa().pass(t.length,async e=>{let n=me();for(let r=0;r<t.length;r+=64){let i=t.slice(r,r+64);(await e(i.map(e=>({path:e.file,text:e.text})))).forEach((e,t)=>n.add({facts:e,text:i[t].text}))}return n.finish()})}export{p as a,aa as i,ea as n,ae as o,ia as r,sa as t};
@@ -0,0 +1 @@
1
+ export{n as codeCommand}from"./chunk-codeLinks-BrGduhsm.js";
@@ -0,0 +1 @@
1
+ import{t as e}from"./chunk-context-rCJvBM9p.js";import{t}from"./chunk-diagrams-CtGMGTa8.js";import{i as n,r}from"./chunk-folders-C7ae1oPV.js";import{t as i}from"./chunk-table-BOiaGWwY.js";import{n as a,o,t as s}from"./chunk-codeScan-C09My9xv.js";import{t as c}from"./chunk-codeIndex-vStNh6Bm.js";import{r as l}from"./chunk-model-BulEKnY1.js";import{t as u}from"./chunk-plural-Dn-7ulHf.js";import{n as d}from"./chunk-status-CmYxwOCn.js";import{r as f}from"./chunk-translator-DNm9zRpP.js";import p from"node:path";import{existsSync as m,readFileSync as h,readdirSync as g,statSync as _}from"node:fs";function v(e,t){let i=n(e,t),o=[],c=e=>{for(let t of g(e,{withFileTypes:!0})){if(i(),s.has(t.name)||t.name.startsWith(`.`))continue;let n=p.join(e,t.name);t.isDirectory()?r(n)&&c(n):a.test(t.name)&&o.push(n)}};return c(e),o.sort()}function y(e,t){return`${p.relative(t,e.file)}:${e.line}`}function b(e,t,n,r,i=[],a={decisions:/* @__PURE__ */ new Set,forms:/* @__PURE__ */ new Set}){let s=[];for(let r of e){let e=e=>({severity:`fail`,message:e,where:`${r.diagram} · ${r.name}`,path:r.path,elementId:r.element,value:r.value});switch(r.kind){case`jobType`:!o({kind:`JOB_TYPE`,value:r.value})&&!t.jobTypes.has(r.value)&&s.push(e(f(`app.output.noWorkerForJobType`,{value:r.value})));break;case`topic`:t.topics.has(r.value)||s.push(e(f(`app.output.noWorkerForTopic`,{value:r.value})));break;case`class`:t.classes.has(r.value)||s.push(e(f(`app.output.classNotInProject`,{value:r.value})));break;case`bean`:t.beans.has(r.value)||s.push(e(f(`app.output.noBeanNamed`,{value:r.value})));break;case`calledElement`:n.has(r.value)||s.push(e(f(`app.output.callsNoProjectProcess`,{value:r.value})));break;case`decision`:a.decisions.has(r.value)||s.push(e(f(`app.output.callsNoProjectDecision`,{value:r.value})));break;case`form`:a.forms.has(r.value)||s.push(e(f(`app.output.showsNoProjectForm`,{value:r.value})));break;case`embeddedForm`:s.push(e(f(`app.output.showsNoEmbeddedForm`,{value:r.value})))}}let c=t=>new Set(e.filter(e=>e.kind===t).map(e=>e.value)),l=/* @__PURE__ */ new Set([`io.camunda.zeebe:userTask`,...i.flatMap(e=>[...e.matchAll(/[A-Za-z_][\w-]*/g)].map(e=>e[0]))]),u=/* @__PURE__ */ new Set([...c(`jobType`),...l]),d=/* @__PURE__ */ new Set([...c(`topic`),...l]);for(let[e,n]of t.jobTypes)u.has(e)||s.push({severity:`note`,message:f(`app.output.jobTypeNoDiagramUses`,{value:e}),where:y(n[0],r),path:n[0].file,line:n[0].line,value:e});for(let[e,n]of t.topics)d.has(e)||s.push({severity:`note`,message:f(`app.output.topicNoDiagramUses`,{value:e}),where:y(n[0],r),path:n[0].file,line:n[0].line,value:e});return s}const x={JOB_TYPE:`jobType`,TOPIC:`topic`,JAVA_CLASS:`class`,BEAN:`bean`};function S(e,t){let n=t=>(e.elements.find(e=>e.id===t)?.label??t).replace(/\s+/g,` `).trim(),r=(e,r,i)=>({diagram:t.diagram,path:t.path,element:e,name:n(e),kind:r,value:i});return{references:[...e.workers.map(e=>e.listener?{diagram:t.diagram,path:t.path,element:``,name:f(`app.output.listenerName`,{value:e.listener}),kind:x[e.kind],value:e.value}:r(e.elementId,x[e.kind],e.value)),...e.calls.map(e=>r(e.elementId,`calledElement`,e.calledProcessId)),...e.decisionUses.map(e=>r(e.elementId,`decision`,e.decisionId)),...e.formUses.filter(e=>e.linked).map(e=>r(e.elementId,`form`,e.formId)),...e.formUses.filter(t=>t.embedded&&!e.embeddedForms.includes(t.formId)).map(e=>r(e.elementId,`embeddedForm`,e.formId))],processes:e.processes.map(e=>e.id),dynamic:e.dynamic}}async function C(e,t){return S(await l(e,h(e,`utf8`)),{diagram:p.relative(t,e),path:e})}async function w(e){let n={decisions:/* @__PURE__ */ new Set,forms:/* @__PURE__ */ new Set},r=t(e,[`decision`,`form`]);for(let e of r){let t=await l(e,h(e,`utf8`));t.decisions.forEach(e=>n.decisions.add(e.id)),t.formId&&n.forms.add(t.formId)}return n}function T(e){let t=e.linked;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim()!==``):[]}function E(e,t){return t.map(t=>p.resolve(e,t)).filter(t=>{let n=p.relative(e,t);return(n.startsWith(`..`)||p.isAbsolute(n))&&m(t)&&_(t).isDirectory()})}async function D(t,n,r){let a=_(t).isDirectory()?t:p.dirname(t),o=e(a),s=[a,...E(o.root,T(o.values))].flatMap(e=>v(e)).map(e=>({file:e,text:h(e,`utf8`)})),l=await c(s),m=[],g=/* @__PURE__ */ new Set,x=[];for(let e of n){let t=await C(e,a);m.push(...t.references),x.push(...t.dynamic),t.processes.forEach(e=>g.add(e))}let S=b(m,l,g,a,x,await w(a)),D=S.filter(e=>e.severity===`fail`);if(r===`json`)return{ok:D.length===0,refused:!1,lines:[JSON.stringify(S,null,2)]};let O=[f(`app.output.fromDiagramsToCode`,{sources:u(s.length,`app.output.count.sourceFile`),diagrams:u(n.length,`app.output.count.diagram`),references:u(m.length,`app.output.count.reference`)}),``],k=S.map(e=>({severity:d(e.severity),content:`${e.where} ${e.message}`})),A=i(k,{columns:[{name:`severity`,header:f(`app.cli.header.severity`),minWidth:4},{name:`content`,header:f(`app.cli.header.content`)}],headers:!1});return O.push(...A),l.unresolved.length>0&&O.push(f(`app.output.unresolvedWorker`,{workers:u(l.unresolved.length,`app.output.count.worker`),where:y(l.unresolved[0],a)})),O.push(``,D.length===0?f(`app.output.everyTaskHasCode`):f(`app.output.tasksPointAtNothing`,{count:D.length})),{ok:D.length===0,refused:!1,lines:O}}export{E as a,v as c,T as i,D as n,S as o,b as r,C as s,w as t};
@@ -0,0 +1,5 @@
1
+ import{r as e}from"./chunk-failure-BRyRvObj.js";import{r as t,t as n}from"./chunk-translator-DNm9zRpP.js";import{C as r,E as i,S as a,T as o,_ as s,a as c,c as l,d as u,g as d,h as f,i as p,k as m,l as h,m as g,n as _,o as v,p as y,r as b,s as x,t as S,u as C,v as w,w as T,y as E}from"./chunk-security-pgip-kdY.js";import D from"node:path";import{createReadStream as O,existsSync as k,realpathSync as A,statSync as j}from"node:fs";import{spawn as M}from"node:child_process";import{createServer as N}from"node:http";import{pipeline as P}from"node:stream";import{isIP as F}from"node:net";function I(e){let[t,...n]=process.platform===`darwin`?[`open`,e]:process.platform===`win32`?[`rundll32`,`url.dll,FileProtocolHandler`,e]:[`xdg-open`,e];return new Promise((e,r)=>{let i=M(t,n,{stdio:`ignore`,detached:!0});i.once(`error`,r),i.once(`spawn`,()=>{i.unref(),e()})})}function L(e=process.env,t=import.meta.dirname){let n=[e.PENSTOCK_WEB_ROOT,D.join(t,`web`),D.resolve(t,`..`,`..`,`..`,`..`,`libs`,`webview`,`build`,`web`)];for(let e of n)if(e&&k(D.join(e,`index.html`)))return e;return null}function R(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function z(e){if(e.method!==`GET`&&e.method!==`HEAD`)return!1;let t=e.headers[`sec-fetch-dest`];return typeof t==`string`?t===`document`:/\btext\/html\b/i.test(e.headers.accept??``)}function B(e){let r=`app.cli.web.page.${e}`,i=e===`missing`?`<p><a href="/">${R(t(`app.cli.web.page.open`))}</a></p>`:``;return`<!doctype html><html lang="${R(n())}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="robots" content="noindex"><title>${R(t(`${r}.title`))} - Penstock</title><style>:root{color-scheme:light dark}body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:Canvas;color:CanvasText;font:13px/1.5 "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}main{max-width:480px;padding:24px}h1{margin:0 0 8px;font-size:1.2em;font-weight:600}p{margin:0 0 8px}.hint{opacity:.7}a{color:LinkText}</style></head><body><main><h1>${R(t(`${r}.title`))}</h1><p>${R(t(`${r}.text`))}</p><p class="hint">${R(t(`${r}.hint`))}</p>${i}</main></body></html>`}function V(e,t,n,r){if(!z(e))return s(t,n);let i=B(r);t.writeHead(n.status,{"Content-Type":`text/html; charset=utf-8`,"Content-Length":Buffer.byteLength(i),"Cache-Control":`no-store`}),t.end(e.method===`HEAD`?void 0:i)}const H={".html":`text/html; charset=utf-8`,".js":`text/javascript; charset=utf-8`,".mjs":`text/javascript; charset=utf-8`,".css":`text/css; charset=utf-8`,".json":`application/json; charset=utf-8`,".webmanifest":`application/manifest+json; charset=utf-8`,".svg":`image/svg+xml`,".png":`image/png`,".jpg":`image/jpeg`,".gif":`image/gif`,".ico":`image/x-icon`,".woff":`font/woff`,".woff2":`font/woff2`,".ttf":`font/ttf`,".map":`application/json; charset=utf-8`,".wasm":`application/wasm`,".txt":`text/plain; charset=utf-8`};var U=class{root;constructor(e){this.root=e&&j(D.join(e,`index.html`),{throwIfNoEntry:!1})?.isFile()?A(e):null}get available(){return this.root!==null}serve(e,t,n){if(e.method!==`GET`&&e.method!==`HEAD`)return s(t,o(405,`app.cli.web.reason.methodNotAllowed`),{Allow:`GET, HEAD`});if(!this.root)return this.missing(t);let r;try{r=decodeURIComponent(n)}catch{return s(t,o(400,`app.cli.web.reason.badPath`,{path:``}))}if(r.includes(`\0`)||r.includes(`\\`)||r.split(`/`).includes(`..`))return s(t,o(403,`app.cli.web.reason.outside`,{path:``}));let i=r.endsWith(`/`)?`${r}index.html`:r,c=D.join(this.root,i),l=j(c,{throwIfNoEntry:!1});if(l?.isDirectory()&&(c=D.join(c,`index.html`),l=j(c,{throwIfNoEntry:!1})),!l?.isFile())return V(e,t,o(404,`app.cli.web.reason.noSuchFile`),`missing`);let u;try{u=A(c)}catch{return V(e,t,o(404,`app.cli.web.reason.noSuchFile`),`missing`)}if(!a(u,this.root))return s(t,o(403,`app.cli.web.reason.outside`,{path:``}));let d=`"${l.size.toString(16)}-${Math.floor(l.mtimeMs).toString(16)}"`,f=D.extname(u)===`.html`;t.setHeader(`ETag`,d),t.setHeader(`Cache-Control`,f?`no-cache`:`private, max-age=3600`),e.headers[`if-none-match`]===d?(t.writeHead(304),t.end()):(t.writeHead(200,{"Content-Type":H[D.extname(u).toLowerCase()]??`application/octet-stream`,"Content-Length":l.size}),e.method===`HEAD`?t.end():P(O(u),t,()=>void 0))}missing(e){let n=`<!doctype html><meta charset="utf-8"><title>Penstock</title><p>${t(`app.cli.web.noPage`)}</p>`;e.writeHead(503,{"Content-Type":`text/html; charset=utf-8`,"Content-Length":Buffer.byteLength(n),"Cache-Control":`no-store`}),e.end(n)}};const W=/* @__PURE__ */ new Set([`GET`,`HEAD`,`POST`,`PUT`,`PATCH`,`DELETE`]),G=/^[\w.-]{1,64}$/;function K(e,t,n){return new Promise((r,i)=>{let a=t=>{e.off(`listening`,o),i(t)},o=()=>{e.off(`error`,a),r()};e.once(`error`,a),e.once(`listening`,o),e.listen(t,n)})}async function q(e,t,n,r){if(t===0)return await K(e,0,n),e.address().port;let i;for(let a=t;a<t+r&&a<=65535;a+=1)try{return await K(e,a,n),a}catch(e){i=e;let t=e.code;if(t!==`EADDRINUSE`&&t!==`EACCES`)throw e}throw i}function J(e,t){let n=new URLSearchParams(e.searchParams);n.delete(t);let r=n.toString();return`${e.pathname}${r?`?${r}`:``}`}async function Y(e){let t=e.host??`127.0.0.1`,n=e.token??x(),a=new g(e),D=new U(e.webRoot??null),O=/* @__PURE__ */ new Set,k=null,A=/* @__PURE__ */ new Map,j=async(e,t)=>{E(t);let r=e.headers.host;if(!k||!k.allowsHost(r))return s(t,o(403,`app.cli.web.reason.wrongHost`));let i=e.method??``;if(!W.has(i))return s(t,o(405,`app.cli.web.reason.methodNotAllowed`),{Allow:`GET, HEAD, POST, PUT, PATCH, DELETE`});let a=e.url??``;if(a.length>8192)return s(t,o(414,`app.cli.web.reason.tooLong`));if(!a.startsWith(`/`)||a.startsWith(`//`))return s(t,o(400,`app.cli.web.reason.badPath`,{path:``}));let c;try{c=new URL(a,`http://${r}`)}catch{return s(t,o(400,`app.cli.web.reason.badPath`,{path:``}))}let l=c.pathname.startsWith(`/api/`)||c.pathname.startsWith(`/vscode/`)||c.pathname.startsWith(`/web/`),u=!l&&C(e.headers,i);if(!k.allowsOrigin(typeof e.headers.origin==`string`?e.headers.origin:void 0,r)||!(b(e.headers)||u))return s(t,o(403,`app.cli.web.reason.wrongOrigin`));if(!l&&i===`GET`&&c.searchParams.has(`token`)){let r=c.searchParams.get(`token`),i=r===null?void 0:A.get(r);if(i!==void 0&&A.delete(r),!h(r,n)&&!(i!==void 0&&i>Date.now()))return V(e,t,o(401,`app.cli.web.reason.noToken`),`expired`);t.setHeader(`Set-Cookie`,_(n)),t.setHeader(`Cache-Control`,`no-store`),t.writeHead(303,{Location:J(c,`token`)}),t.end()}else{if(!p(e.headers,n))return l?s(t,o(401,`app.cli.web.reason.noToken`)):V(e,t,o(401,`app.cli.web.reason.noToken`),`expired`);if(!l)return D.serve(e,t,c.pathname);await M(e,t,c,i)}},M=async(e,t,n,c)=>{let p=u(c,n.pathname);if(p.kind===`none`)return s(t,o(404,`app.cli.web.reason.noSuchOperation`));if(p.kind===`method`)return s(t,o(405,`app.cli.web.reason.methodNotAllowed`),{Allow:p.allowed.join(`, `)});let{route:h,params:g}=p,_=a.context;t.setHeader(`X-Penstock-Project`,_.id);let v=new AbortController;t.once(`close`,()=>{t.writableEnded||v.abort()});let b=a.track(_,v),x=null,S=null;try{let r=y(h);if(r!==`none`){let t=e.headers[`x-penstock-project`];if(typeof t==`string`&&t!==``&&t!==_.id)throw o(409,`app.cli.web.reason.projectChanged`);if(r===`required`&&!_.open)throw o(409,`app.cli.web.reason.noProject`)}let s;if(c!==`GET`){let t=await d(e,h.limit??1048576);if(t.length>0){if(!/^application\/json\b/i.test(e.headers[`content-type`]??``))throw o(415,`app.cli.web.reason.notJson`);try{s=JSON.parse(t.toString(`utf8`))}catch{throw o(400,`app.cli.web.reason.notJson`)}}}else e.resume();h.operationId===`askEngine`&&typeof s==`object`&&s&&/^(POST|PUT|PATCH|DELETE)$/.test(String(s.method))&&(x=a.beginDeploy());let u=e.headers[`x-penstock-client`],p={body:s,query:n.searchParams,params:g,headers:e.headers,signal:v.signal,client:typeof u==`string`&&G.test(u)?u:`shared`,resource:l(e.headers),workspace:a},m=Promise.resolve().then(()=>h.run(p,_));m.catch(()=>void 0);let b=h.held?await m:await Promise.race([m,new Promise((e,t)=>{S=setTimeout(()=>{v.abort(),t(o(504,`app.cli.web.reason.tookTooLong`))},i),S.unref()})]);if(v.signal.aborted&&t.destroyed){b instanceof f&&b.body.destroy();return}if(b instanceof f){t.setHeader(`Cache-Control`,`no-store`),t.writeHead(200,b.headers),P(b.body,t,()=>void 0);return}w(t,200,b)}catch(e){if(e instanceof m)return void t.destroy();if(t.destroyed)return;s(t,e instanceof r?e:T(e))}finally{S&&clearTimeout(S),b(),x?.()}},F=N({maxHeaderSize:16384,requestTimeout:6e4,headersTimeout:15e3,keepAliveTimeout:5e3},(e,t)=>{j(e,t).catch(e=>{t.headersSent?t.destroy():s(t,T(e))})});F.maxConnections=512,F.on(`connection`,e=>{O.add(e),e.once(`close`,()=>O.delete(e))}),F.on(`clientError`,(e,t)=>{t.writable?t.end(`HTTP/1.1 400 Bad Request\r
2
+ Connection: close\r
3
+ Content-Length: 0\r
4
+ \r
5
+ `):t.destroy()});let I=e.port??8765,L;try{L=await q(F,I,t,e.portSearch??100)}catch(e){throw a.shutdown(),e}k=c(t,L);let R=v(t)?`127.0.0.1`:S(t),z=`http://${R===`0.0.0.0`?`127.0.0.1`:R}:${L}`,B=null;return{server:F,get context(){return a.context},workspace:a,token:n,host:t,port:L,requestedPort:I,url:z,entry:`${z}/?token=${n}`,launch(){let e=Date.now();for(let[t,n]of A)n<=e&&A.delete(t);let t=x();return A.set(t,e+6e4),`${z}/?token=${t}`},close(){return B??=new Promise(e=>{a.shutdown(),F.close(()=>e()),F.closeIdleConnections(),setTimeout(()=>{for(let e of O)e.destroy();F.closeAllConnections()},500).unref();for(let e of O)e.destroyed||e.setTimeout(1e3,()=>e.destroy())}),B}}}const X=/^[A-Za-z0-9]([A-Za-z0-9.-]{0,251}[A-Za-z0-9])?$/;function Z(e,t){e.write(`${t}\n`)}function Q(e){return e===void 0?8765:/^\d{1,5}$/.test(e)&&Number(e)<=65535?Number(e):null}function $(e){if(e===void 0)return`127.0.0.1`;let t=e.replace(/^\[|\]$/g,``);return F(t)!==0||X.test(t)?t:null}function ee(e){return new Promise(n=>{let r=!1,i=()=>{r&&process.exit(130),r=!0,Z(process.stderr,t(`app.cli.web.stopping`)),e.close().finally(n)};process.on(`SIGINT`,i),process.on(`SIGTERM`,i),e.server.once(`close`,()=>{process.off(`SIGINT`,i),process.off(`SIGTERM`,i),n()})})}async function te(n,r){let i=n===void 0?void 0:D.resolve(n);if(i!==void 0){let n;try{n=j(i)}catch{return{ok:!1,lines:[e(i)]}}if(!n.isDirectory())return{ok:!1,lines:[t(`app.cli.web.notAFolder`,{folder:i})]}}let a=Q(r.port);if(a===null)return{ok:!1,lines:[t(`app.cli.web.badPort`,{value:r.port??``})]};let o=$(r.host);if(o===null)return{ok:!1,lines:[t(`app.cli.web.badHost`,{value:r.host??``})]};let s;try{s=await Y({folder:i,host:o,port:a,webRoot:L(),openLink:I,say:e=>Z(process.stdout,e)})}catch(e){return e.code===`EADDRINUSE`?{ok:!1,lines:[t(`app.cli.web.noFreePort`,{from:a,to:a+99})]}:{ok:!1,lines:[t(`app.cli.web.cannotListen`,{reason:e instanceof Error?e.message:String(e)})]}}let c=ee(s);return v(o)||Z(process.stderr,t(`app.cli.web.exposed`,{host:o})),s.port!==a&&a!==0&&Z(process.stderr,t(`app.cli.web.portTaken`,{port:a,used:s.port})),Z(process.stdout,s.context.open?t(`app.cli.web.serving`,{folder:s.context.folder}):t(`app.cli.web.servingWelcome`)),Z(process.stdout,` ${s.entry}`),Z(process.stdout,t(`app.cli.web.pressCtrlC`)),L()===null&&Z(process.stderr,t(`app.cli.web.noPageWarning`)),r.open&&I(s.launch()).catch(()=>Z(process.stderr,t(`app.cli.web.browserFailed`))),await c,{ok:!0,lines:[]}}export{te as webCommand};
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-editPreview-DCUnMkTU.js";import{a as t,i as n,n as r,o as i}from"./chunk-command-vH1_y5F0.js";export{r as applyOperations,e as engineOf,n as operationFromWords,t as schemaCommand,i as showCommand};