@kern0x1b/penstock-cli 26.10.5 → 26.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/{chunk-account-C8EHysMH.js → chunk-account-CMvFjqGw.js} +1 -1
  2. package/dist/{chunk-agentFailure-piRAFLGH.js → chunk-agentFailure-BiU8hJ-k.js} +1 -1
  3. package/dist/{chunk-agentLaunch-C5Uo40vv.js → chunk-agentLaunch-CRWlfuXv.js} +1 -1
  4. package/dist/{chunk-agentServe-4O0syoYQ.js → chunk-agentServe-M3jzEiHj.js} +1 -1
  5. package/dist/{chunk-analyze-Brxlb4U1.js → chunk-analyze-CCZJQpbU.js} +1 -1
  6. package/dist/chunk-analyze-D_2dPr5n.js +1 -0
  7. package/dist/chunk-apply-Dmo_XdOA.js +1 -0
  8. package/dist/{chunk-bot-I4kuhjyv.js → chunk-bot-51CfGKVL.js} +3 -3
  9. package/dist/chunk-codeFactSet-BqEOkvBS.js +1 -0
  10. package/dist/{chunk-codeIndex-CzENd6hG.js → chunk-codeIndex-olvCG85q.js} +1 -1
  11. package/dist/{chunk-codeLinks-D-gzUjYv.js → chunk-codeLinks-DW721PAt.js} +1 -1
  12. package/dist/chunk-codeLinks-S_BEJVPa.js +1 -0
  13. package/dist/{chunk-command-BctoT00W.js → chunk-command-B-7DfFou.js} +1 -1
  14. package/dist/chunk-command-CyUljAAc.js +1 -0
  15. package/dist/{chunk-command-Jl1msVwF.js → chunk-command-D7WS1aRl.js} +1 -1
  16. package/dist/chunk-commands-CMEkVxle.js +1 -0
  17. package/dist/{chunk-compose-BV9Jg348.js → chunk-compose-DCAQQndd.js} +1 -1
  18. package/dist/{chunk-connectors-CVfz5pSg.js → chunk-connectors-DG6IqkGl.js} +1 -1
  19. package/dist/{chunk-connectors-eXPldvkc.js → chunk-connectors-UpMjbdpU.js} +1 -1
  20. package/dist/{chunk-context-DPJmldqg.js → chunk-context-B-5CZFAT.js} +1 -1
  21. package/dist/{chunk-convert-B1sgT9kl.js → chunk-convert-B7srqZpZ.js} +1 -1
  22. package/dist/chunk-deploy-CGLF2dB1.js +1 -0
  23. package/dist/{chunk-deploy-DOXu2-8q.js → chunk-deploy-Clj9f2y-.js} +1 -1
  24. package/dist/chunk-diagram-CIy-F5iz.js +1 -0
  25. package/dist/{chunk-diagram-BaVwLa4h.js → chunk-diagram-DYoeuAJx.js} +1 -1
  26. package/dist/{chunk-diagramDefects-7UG_Iwsr.js → chunk-diagramDefects-DlVCfZci.js} +1 -1
  27. package/dist/{chunk-diagrams-6suPQBVQ.js → chunk-diagrams-wnFsPOKv.js} +1 -1
  28. package/dist/{chunk-diff-D1m_eKvv.js → chunk-diff-BJ2sJwcs.js} +1 -1
  29. package/dist/chunk-diff-BelMuQhT.js +1 -0
  30. package/dist/chunk-dispatch-CescmVW-.js +6 -0
  31. package/dist/{chunk-docs-CwY3Ce9M.js → chunk-docs-DzOiA9zg.js} +4 -4
  32. package/dist/{chunk-doctor-m0mnVdDE.js → chunk-doctor-GDNwRCg3.js} +1 -1
  33. package/dist/{chunk-drawing-shRfnrs9.js → chunk-drawing-C2qewK8L.js} +1 -1
  34. package/dist/{chunk-editPreview-BgH1JVOD.js → chunk-editPreview-DGu4slO6.js} +1 -1
  35. package/dist/chunk-export-CDFdw7Eh.js +1 -0
  36. package/dist/{chunk-export-D5kPD4Or.js → chunk-export-DP1Hab-_.js} +1 -1
  37. package/dist/{chunk-facts-DA3Y-k9a.js → chunk-facts-CfA8qH5b.js} +1 -1
  38. package/dist/{chunk-failure-BsimkHy_.js → chunk-failure-BK7fu4Yo.js} +1 -1
  39. package/dist/{chunk-features-BfRg2kR5.js → chunk-features-CiC2Yoej.js} +1 -1
  40. package/dist/chunk-features-Dq1Gvqp3.js +1 -0
  41. package/dist/chunk-folders-BO8qUHUV.js +1 -0
  42. package/dist/{chunk-folders-13vx0i0n.js → chunk-folders-yTMgOqLo.js} +1 -1
  43. package/dist/chunk-formChecks-BOiD8Idv.js +1 -0
  44. package/dist/chunk-help-DKtpVSxI.js +85 -0
  45. package/dist/chunk-importCommand-_CnKIoNk.js +1 -0
  46. package/dist/{chunk-init-AIh_7yE0.js → chunk-init-3zEab7KI.js} +3 -3
  47. package/dist/chunk-license-Cvnp1Aee.js +1 -0
  48. package/dist/{chunk-license-x3oHbKe2.js → chunk-license-DU4P8P8A.js} +1 -1
  49. package/dist/{chunk-lint-C_fAcLIg.js → chunk-lint-Df2davEY.js} +1 -1
  50. package/dist/{chunk-load-BVJUBU5S.js → chunk-load-CRmIvn7e.js} +1 -1
  51. package/dist/chunk-main-BY7JEoe1.js +1 -0
  52. package/dist/chunk-mcp-DKX2xT8d.js +77 -0
  53. package/dist/{chunk-mcpLaunch-C13ViiIP.js → chunk-mcpLaunch-DpDE0hW-.js} +1 -1
  54. package/dist/chunk-migrate-BaNzQNyD.js +2 -0
  55. package/dist/chunk-migrate-DcxIkacG.js +1 -0
  56. package/dist/{chunk-penstockCli-CqiOKC75.js → chunk-penstockCli-B0_wWDGy.js} +1 -1
  57. package/dist/chunk-plural-Di3FH8HP.js +1 -0
  58. package/dist/{chunk-pr-tC3-PSNM.js → chunk-pr-DXs1coaS.js} +1 -1
  59. package/dist/{chunk-project-qT-Fk_Rz.js → chunk-project-BS-4dy5o.js} +1 -1
  60. package/dist/{chunk-report-CDz78nCI.js → chunk-report-CtkTRSGT.js} +1 -1
  61. package/dist/{chunk-review-BqZSohXR.js → chunk-review-WIpFGKkc.js} +1 -1
  62. package/dist/{chunk-rules-DJlL7K_Q.js → chunk-rules-CoJAmvwu.js} +1 -1
  63. package/dist/{chunk-security-5SU-bq3A.js → chunk-security-BKVRwb6V.js} +10 -10
  64. package/dist/{chunk-share-YSewfw3F.js → chunk-share-B3W30sbt.js} +3 -3
  65. package/dist/chunk-src-CxTpK8wk.js +890 -0
  66. package/dist/{chunk-stages-C-nhLoBW.js → chunk-stages-Gm5BZUp5.js} +1 -1
  67. package/dist/chunk-status-X9Ny-Nu8.js +1 -0
  68. package/dist/{chunk-systemError-B-1nL94i.js → chunk-systemError-F6bMRwXU.js} +1 -1
  69. package/dist/chunk-systemError-cGwrYkmo.js +1 -0
  70. package/dist/{chunk-table-CJtiXv0e.js → chunk-table-B2WTbpMl.js} +1 -1
  71. package/dist/chunk-taskTest-B3gfOti1.js +1 -0
  72. package/dist/{chunk-taskTest-4rIxp0rL.js → chunk-taskTest-D-WDCLD5.js} +2 -2
  73. package/dist/{chunk-templates-Bxe3J0qy.js → chunk-templates-BdsiNRJ3.js} +1 -1
  74. package/dist/chunk-testCases-ba8k3BJD.js +4 -0
  75. package/dist/chunk-testCases-gXzkCxF5.js +1 -0
  76. package/dist/chunk-tests-BLBZ1eh2.js +1 -0
  77. package/dist/chunk-tests-DxL0JMtB.js +23 -0
  78. package/dist/chunk-translator-BAjzyPKE.js +22 -0
  79. package/dist/{chunk-trust-u1vZ6Yk0.js → chunk-trust-Ci9pDa27.js} +1 -1
  80. package/dist/{chunk-trust-yKw_pXRj.js → chunk-trust-DlJIoKs8.js} +1 -1
  81. package/dist/{chunk-workerVariables-CCLcoR0U.js → chunk-workerVariables-BnLSud8o.js} +1 -1
  82. package/dist/{chunk-wrapper-AJWl6ru-.js → chunk-wrapper-DqqRt0FZ.js} +1 -1
  83. package/dist/chunk-wrapper-E_u1_-Db.js +1 -0
  84. package/dist/locales/de.json +103 -2
  85. package/dist/locales/es.json +103 -2
  86. package/dist/locales/fr.json +103 -2
  87. package/dist/locales/ja.json +103 -2
  88. package/dist/locales/ko.json +103 -2
  89. package/dist/locales/pt-BR.json +103 -2
  90. package/dist/locales/ru.json +103 -2
  91. package/dist/locales/zh.json +103 -2
  92. package/dist/penstock.js +1 -1
  93. package/dist/web/assets/{AgentSettings-C3Er_rlW.js → AgentSettings-4B4hSxBk.js} +1 -1
  94. package/dist/web/assets/{AgentsDialog-Bo7kikb6.js → AgentsDialog-C32ALLtE.js} +1 -1
  95. package/dist/web/assets/{BpmnCanvas-Dw5zgCN3.js → BpmnCanvas-CZOJiq6t.js} +1 -1
  96. package/dist/web/assets/{BpmnDocument-CuU0biX9.js → BpmnDocument-BNLfXWLG.js} +4 -4
  97. package/dist/web/assets/{ConflictDialog-GxZ-d8SK.js → ConflictDialog-mUJYs1zz.js} +1 -1
  98. package/dist/web/assets/{DiffDocument-Bh3hFmmi.js → DiffDocument-C7csJl3x.js} +1 -1
  99. package/dist/web/assets/{DmnDocument-C8HpJAcE.js → DmnDocument-B2dyX49k.js} +1 -1
  100. package/dist/web/assets/{FormDocument-CH-4KB3x.js → FormDocument-ChSqEPE5.js} +1 -1
  101. package/dist/web/assets/{FormStepView-DraPVoAN.js → FormStepView-j4C0Qovo.js} +1 -1
  102. package/dist/web/assets/{GraphAwareLayoutService-C8J8YHJI.js → GraphAwareLayoutService-DD2iXfXi.js} +1 -1
  103. package/dist/web/assets/{NewFileDialog-j09JqpPj.js → NewFileDialog-eeIqqmXc.js} +1 -1
  104. package/dist/web/assets/{QuickOpen-CeBhsCzA.js → QuickOpen-C0I0FRt2.js} +1 -1
  105. package/dist/web/assets/{ScriptPane-DDikZDv6.js → ScriptPane-BAvcgLWX.js} +2 -2
  106. package/dist/web/assets/{ScriptRunDialog-DdzJ0pvT.js → ScriptRunDialog-DLlMiJiK.js} +1 -1
  107. package/dist/web/assets/{SettingsDialog-JUc5zUR9.js → SettingsDialog-C3ts5aiN.js} +1 -1
  108. package/dist/web/assets/{ShortcutsDialog-DECqWPNE.js → ShortcutsDialog-DVV504pS.js} +1 -1
  109. package/dist/web/assets/{SourceDocument-X8ajUcxM.js → SourceDocument-DRgUPazk.js} +1 -1
  110. package/dist/web/assets/{TextDocument-0z7qojAh.js → TextDocument-Bm0sPjft.js} +1 -1
  111. package/dist/web/assets/{UnreadableFileLayer-D3G59F4u.js → UnreadableFileLayer-DbW33CnE.js} +1 -1
  112. package/dist/web/assets/{UploadDialog-CiahYkTc.js → UploadDialog-BSl3zFNn.js} +1 -1
  113. package/dist/web/assets/{apply-HqvoGwLE.js → apply-B3FkgxjU.js} +1 -1
  114. package/dist/web/assets/{bpmnTheme-cOvp4qFc.js → bpmnTheme-C3HdVV1D.js} +1 -1
  115. package/dist/web/assets/bridgeInstance-BZBhe5hF.js +851 -0
  116. package/dist/web/assets/{commands-nPznxvPp.js → commands-DHPxsavW.js} +1 -1
  117. package/dist/web/assets/de-BH_bnU4H.js +1 -0
  118. package/dist/web/assets/{dialog-CtGB1LHI.js → dialog-LcHsiQKJ.js} +1 -1
  119. package/dist/web/assets/{diff-NgYeO98t.js → diff-bpdDl0KE.js} +1 -1
  120. package/dist/web/assets/{documentBridge-QW0IZ9Bq.js → documentBridge-4fZNBdp4.js} +2 -2
  121. package/dist/web/assets/{documents-KeXEdK1U.js → documents-FOVGbYYF.js} +1 -1
  122. package/dist/web/assets/{duplicate-DNPpPVse.js → duplicate-CdCuOnUl.js} +1 -1
  123. package/dist/web/assets/{engines-DU0BfbYM.js → engines-C884tl-T.js} +1 -1
  124. package/dist/web/assets/es-D7v7zkxC.js +1 -0
  125. package/dist/web/assets/{formChecks-sU20kKkU.js → formChecks-Bvuzw2sb.js} +1 -1
  126. package/dist/web/assets/fr-CuzAJTai.js +1 -0
  127. package/dist/web/assets/frontend-Y1MvD_Uo.js +1 -0
  128. package/dist/web/assets/httpHost-CnF86WJB.js +1 -0
  129. package/dist/web/assets/{index.es-BqVUpGyA.js → index.es-0rLw__5_.js} +1 -1
  130. package/dist/web/assets/{index.es-DqkfrvWI.js → index.es-BP1Cc_0e.js} +1 -1
  131. package/dist/web/assets/{intelligence-Ck_Q9upa.js → intelligence-E2EBYhHr.js} +1 -1
  132. package/dist/web/assets/ja-BgElyPpa.js +1 -0
  133. package/dist/web/assets/{jspdf.es.min-CM3S4IDt.js → jspdf.es.min-BSRrqhq_.js} +3 -3
  134. package/dist/web/assets/ko-j1Oi9MKH.js +1 -0
  135. package/dist/web/assets/{lib-DAKOOgix.js → lib-De3fPoUi.js} +1 -1
  136. package/dist/web/assets/{platform-CkWAyNst.js → platform-CjEV0T5t.js} +1 -1
  137. package/dist/web/assets/{preferences-nBrFGN89.js → preferences-CmXdxfFo.js} +1 -1
  138. package/dist/web/assets/pt-BR-CRWG2th4.js +1 -0
  139. package/dist/web/assets/ru-KJyuYSUL.js +1 -0
  140. package/dist/web/assets/{run-B3YvrVeP.js → run-B9EUa035.js} +1 -1
  141. package/dist/web/assets/{samples-BVuIm-bu.js → samples-03zukOEM.js} +1 -1
  142. package/dist/web/assets/{testCaseRuns-DYKnccnc.js → testCaseRuns-BYhJPipg.js} +1 -1
  143. package/dist/web/assets/translator-OIpY8kTG.js +1 -0
  144. package/dist/web/assets/{ui-3pEQJ50t.js → ui-BLMlfdD3.js} +1 -1
  145. package/dist/web/assets/{useTrace-BAXnn0Bt.js → useTrace-Cr28sh4A.js} +1 -1
  146. package/dist/web/assets/{web-B2zkonPE.js → web-Q9VZNxQi.js} +5 -5
  147. package/dist/web/assets/zh-CukDLcVz.js +1 -0
  148. package/dist/web/index.html +19 -19
  149. package/package.json +1 -1
  150. package/dist/chunk-analyze-CUxuBgNS.js +0 -1
  151. package/dist/chunk-apply-BAMwoXG9.js +0 -1
  152. package/dist/chunk-baseline-DvS2S0am.js +0 -1
  153. package/dist/chunk-codeFactSet-DOOlbIIj.js +0 -1
  154. package/dist/chunk-codeLinks-DLxEBWPi.js +0 -1
  155. package/dist/chunk-command-BR4memGJ.js +0 -1
  156. package/dist/chunk-commands-CeRlfHY-.js +0 -1
  157. package/dist/chunk-deploy-C4KJK-tw.js +0 -1
  158. package/dist/chunk-diagram-CCA1-fT5.js +0 -1
  159. package/dist/chunk-diff-BC8gZX5w.js +0 -1
  160. package/dist/chunk-dispatch-CW2CJI0C.js +0 -6
  161. package/dist/chunk-export-9AWsr5ai.js +0 -1
  162. package/dist/chunk-features-BwnwB6jL.js +0 -1
  163. package/dist/chunk-folders-C1Nes4Ap.js +0 -1
  164. package/dist/chunk-formChecks-acRgARZ3.js +0 -1
  165. package/dist/chunk-help-CFhmAhz8.js +0 -85
  166. package/dist/chunk-importCommand-5SJxu2k4.js +0 -1
  167. package/dist/chunk-license-B_To2110.js +0 -1
  168. package/dist/chunk-main-D3S4Xr__.js +0 -1
  169. package/dist/chunk-mcp-ByMCWlXC.js +0 -76
  170. package/dist/chunk-migrate-CLQ-hrae.js +0 -1
  171. package/dist/chunk-migrate-CVUR1K7f.js +0 -1
  172. package/dist/chunk-plural-Bq_4vgOr.js +0 -1
  173. package/dist/chunk-src-BLyg_6UX.js +0 -879
  174. package/dist/chunk-status-DgeSOz3A.js +0 -1
  175. package/dist/chunk-systemError-2me5k57V.js +0 -1
  176. package/dist/chunk-taskTest-rng12v_b.js +0 -1
  177. package/dist/chunk-testCases-CwQ-Mi7L.js +0 -1
  178. package/dist/chunk-testCases-xculyxH_.js +0 -4
  179. package/dist/chunk-tests-C-kNQNpq.js +0 -1
  180. package/dist/chunk-tests-C3XJ9LMT.js +0 -23
  181. package/dist/chunk-translator-BFUJmSkR.js +0 -21
  182. package/dist/chunk-wrapper-Bxz1Lgp5.js +0 -1
  183. package/dist/web/assets/bridgeInstance-DQk-c8L1.js +0 -850
  184. package/dist/web/assets/de-Dj813wjn.js +0 -1
  185. package/dist/web/assets/es-CyJDEw4H.js +0 -1
  186. package/dist/web/assets/fr-B1lqrd3d.js +0 -1
  187. package/dist/web/assets/frontend-caI7mOAL.js +0 -1
  188. package/dist/web/assets/httpHost-Dqit__mm.js +0 -1
  189. package/dist/web/assets/ja-BUAM_DzQ.js +0 -1
  190. package/dist/web/assets/ko-7l4EjTF9.js +0 -1
  191. package/dist/web/assets/pt-BR-CxxRL7kF.js +0 -1
  192. package/dist/web/assets/ru-C4gbkVXL.js +0 -1
  193. package/dist/web/assets/translator-B2N3PQBL.js +0 -1
  194. package/dist/web/assets/zh-DIYPlVjz.js +0 -1
@@ -1 +1 @@
1
- import{bt as e,ut as t,yt as n}from"./chunk-src-BLyg_6UX.js";import{createRequire as r}from"node:module";import i from"node:path";import{availableParallelism as a}from"node:os";import{existsSync as o}from"node:fs";import{createHash as s,randomUUID as c}from"node:crypto";import{mkdir as ee,readFile as l,rename as te,writeFile as ne}from"node:fs/promises";import{Worker as re}from"node:worker_threads";const ie=/* @__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 u(e){let t=e.lastIndexOf(`.`);return t<0?null:ie.get(e.slice(t+1))??null}function ae(e,t){return i.join(e,t.slice(0,2),`${t}.json`)}function oe(e){return{async read(t){try{return JSON.parse(await l(ae(e,t),`utf8`))}catch{return null}},async write(t,n){let r=ae(e,t);try{await ee(i.dirname(r),{recursive:!0});let e=`${r}.${process.pid}.${c()}.tmp`;await ne(e,JSON.stringify(n)),await te(e,r)}catch{return}}}}const se={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`}},ce=`web-tree-sitter.wasm`;function le(e){let t=Object.fromEntries(Object.entries(se).map(([t,{file:n}])=>[t,i.join(e,i.basename(n))]));return{runtimeFile:i.join(e,ce),grammarFiles:t}}function ue(){let e=i.join(import.meta.dirname,`grammars`);if(o(i.join(e,ce)))return le(e);let t=r(import.meta.url),n=Object.fromEntries(Object.entries(se).map(([e,{package:n,file:r}])=>[e,t.resolve(`${n}/${r}`)]));return{runtimeFile:t.resolve(`web-tree-sitter/web-tree-sitter.wasm`),grammarFiles:n}}const de=/* @__PURE__ */ new Set([`string`,`string_literal`,`interpreted_string_literal`,`raw_string_literal`]),fe=/* @__PURE__ */ new Set([`array`,`array_literal`,`list`,`collection_literal`,`element_value_array_initializer`,`array_initializer`]),pe=[`"""`,`'''`,`"`,`'`,"`"],me=/* @__PURE__ */ new Set([`identifier`,`property_identifier`,`field_identifier`,`shorthand_property_identifier`]),he={attribute:`attribute`,selector_expression:`field`,member_access_expression:`name`,field_expression:`field`,member_expression:`property`},d=e=>({from:e.startIndex,to:e.endIndex}),f=(e,t)=>e.children.filter(e=>e.type===t),p=(e,t)=>e.children.find(e=>e.type===t)??null,m=(e,t)=>e.childForFieldName(t),h=e=>e?.text??null,g=e=>e.type.includes(`comment`),_=(e,t)=>t!==null&&e.type===t.type&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex;function v(e){return e.type===`generic_type`||e.type===`generic_name`?e.firstNamedChild?.text??e.text:e.text}function y(e){if(e===null||!de.has(e.type))return null;let t=e.text;for(let e of pe)if(t.length>=e.length*2&&t.startsWith(e)&&t.endsWith(e))return t.slice(e.length,-e.length);return null}function ge(e){return fe.has(e.type)?e.namedChildren.flatMap(e=>y(e)??[]):null}function _e(e){let t=he[e.type];return t===void 0?null:m(e,t)?.text??null}function b(e,t){return{text:e.text,value:y(e),values:ge(e),identifier:me.has(e.type)?e.text:null,reference:_e(e),constructs:t(e),span:d(e)}}function x(e,t,n){return{...b(e,n),name:t,at:e.startIndex}}function S(e,t,n,r){let i=y(e);return{key:i??e.text,quoted:i!==null,at:e.startIndex,object:n.startIndex,value:b(t,r)}}function C(e,t,n,r){return{receiver:t.text,name:n?.text??null,key:y(r),keyAt:y(r)===null?null:r?.startIndex??null,at:e.startIndex,span:d(e)}}function w(e){return e.sort((e,t)=>e.at-t.at)}function ve(e,t){return{name:m(e,`name`)?.text??e.text.replace(/^@/,``),at:e.startIndex,arguments:t(e)}}const ye=/* @__PURE__ */ new WeakMap,be=/* @__PURE__ */ new WeakMap;function xe(e){let t=ye.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);ye.set(e,t)}return t}function T(e){return xe(e.tree).get(e.id)??null}function Se(e,t){let n=be.get(e);n===void 0&&(n=/* @__PURE__ */ new Map,be.set(e,n));let r=n.get(t);return r===void 0&&(r=/* @__PURE__ */ new Map,n.set(t,r)),r}function Ce(e,t){let n=Se(e.tree,t),r=xe(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 E(e,t){let n=Ce(e,t);return n===null?null:m(n,`name`)?.text??null}function D(e,t){return Ce(e,t)!==null}const we=/* @__PURE__ */ new Set([`method_declaration`,`local_function_statement`,`constructor_declaration`]),Te=/* @__PURE__ */ new Set([`member_access_expression`,`element_access_expression`]),Ee=/* @__PURE__ */ new Set([`object_creation_expression`,`implicit_object_creation_expression`]),De={class_declaration:`class`,record_declaration:`record`,struct_declaration:`struct`,enum_declaration:`enum`};function O(e){let t=e.type===`object_creation_expression`?m(e,`type`):null;return t===null?null:v(t)}const Oe=e=>e===null?null:b(e,O);function ke(e){return(p(e,`attribute_argument_list`)?.namedChildren??[]).map(e=>{let t=p(e,`name_equals`);return{...b(e.namedChildren.find(e=>e.type!==`name_equals`)??e,O),name:t?.namedChildren[0]?.text??null,at:e.startIndex}})}function k(e){return f(e,`attribute_list`).flatMap(e=>f(e,`attribute`).map(e=>({name:m(e,`name`)?.text??e.text,at:e.startIndex,arguments:ke(e)})))}function A(e){return f(e,`modifier`).map(e=>e.text)}function Ae(e){let t=m(e,`name`);return t===null?[]:[{kind:`field`,name:t.text,type:m(e,`type`)?.text??null,at:t.startIndex,modifiers:A(e),annotations:k(e),arity:0,tag:null}]}function je(e){let t=p(e,`variable_declaration`);if(t===null)return[];let n=m(t,`type`)?.text??null;return f(t,`variable_declarator`).flatMap(t=>{let r=m(t,`name`);return r===null?[]:[{kind:`field`,name:r.text,type:n,at:r.startIndex,modifiers:A(e),annotations:k(e),arity:0,tag:null}]})}function Me(e){return e.namedChildren.filter(e=>e.type===`parameter`).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[{kind:`parameter`,name:t.text,type:m(e,`type`)?.text??null,at:t.startIndex,modifiers:[],annotations:k(e),arity:0,tag:null}]})}function Ne(e){return e.namedChildren.flatMap(e=>e.type===`property_declaration`?Ae(e):e.type===`field_declaration`?je(e):[])}function Pe(e){return(p(e,`base_list`)?.namedChildren??[]).map(e=>({name:v(e),relation:`extends`}))}function Fe(e,t){let n=m(e,`name`);if(n===null)return null;let r=m(e,`body`),i=p(e,`parameter_list`),a=[...i===null?[]:Me(i),...r===null||t===`enum`?[]:Ne(r)];return{kind:t,name:n.text,at:n.startIndex,span:d(e),modifiers:A(e),annotations:k(e),supertypes:Pe(e),generic:p(e,`type_parameter_list`)!==null,members:a,constants:t===`enum`&&r!==null?f(r,`enum_member_declaration`).map(e=>m(e,`name`)?.text??``).filter(e=>e!==``):[]}}function Ie(e){return e.descendantsOfType(Object.keys(De)).flatMap(e=>Fe(e,De[e.type])??[])}const Le=/* @__PURE__ */ new Set([`class_declaration`,`record_declaration`,`struct_declaration`]),Re={method_declaration:`method`,constructor_declaration:`constructor`};function ze(e){return(e?.namedChildren??[]).filter(e=>e.type===`parameter`).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[{name:t.text,type:h(m(e,`type`)),at:t.startIndex,annotations:k(e)}]})}function Be(e){return e.descendantsOfType(Object.keys(Re)).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[{kind:Re[e.type],name:t.text,at:t.startIndex,span:d(e),owner:E(e,Le),annotations:k(e),parameters:ze(m(e,`parameters`)),returnType:h(m(e,`returns`))}]})}function Ve(){return null}function He(e){return e.descendantsOfType(`variable_declaration`).filter(e=>T(e)?.type===`local_declaration_statement`&&D(e,we)).flatMap(e=>{let t=m(e,`type`);return f(e,`variable_declarator`).flatMap(e=>{let n=m(e,`name`);if(n===null)return[];let r=e.namedChildren.find(e=>!_(e,n))??null;return[{name:n.text,key:null,type:t===null||t.type===`implicit_type`?null:t.text,at:n.startIndex,initializer:Oe(r)}]})})}function Ue(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:d(e),expression:Oe(e.namedChildren.find(e=>!g(e))??null)}))}function We(e){let t=T(e);return t!==null&&Te.has(t.type)&&_(e,m(t,`expression`))}function Ge(e){let t=T(e);return t===null?!1:We(e)||t.type===`invocation_expression`&&_(e,m(t,`function`))}function Ke(e){let t=m(e,`expression`);if(t===null)return[];if(e.type===`element_access_expression`)return[C(e,t,null,m(e,`subscript`)?.namedChildren[0]?.namedChildren[0]??null)];let n=m(e,`name`);return n===null?[]:[C(e,t,n,null)]}function qe(e){return w(e.descendantsOfType([...Te]).filter(e=>!Ge(e)).flatMap(Ke))}function Je(e){return w(e.descendantsOfType([...Te]).filter(We).flatMap(Ke))}function Ye(e){let t=T(e);return t!==null&&Ee.has(t.type)?t:e}function Xe(e){let t=T(e);if(t===null||t.type!==`initializer_expression`)return[];if(e.type===`initializer_expression`&&e.namedChildren.length===2){let[n,r]=e.namedChildren;return[S(n,r,Ye(t),O)]}let n=m(e,`left`),r=m(e,`right`);return e.type===`assignment_expression`&&n?.type===`identifier`&&r!==null?[S(n,r,Ye(t),O)]:[]}function Ze(e){return w(e.descendantsOfType([`initializer_expression`,`assignment_expression`]).flatMap(Xe))}function Qe(e){return(e?.namedChildren??[]).filter(e=>e.type===`argument`).map(e=>{let t=p(e,`name_colon`);return x(e.namedChildren.find(e=>e.type!==`name_colon`)??e,t?.namedChildren[0]?.text??null,O)})}function $e(e){let t=m(e,`function`);if(t===null)return null;let n=t.type===`member_access_expression`,r=n?m(t,`name`):t,i=r?.type===`generic_name`?r.firstNamedChild:r;return i==null||i.type!==`identifier`?null:{receiver:n?h(m(t,`expression`)):null,name:i.text,arguments:Qe(m(e,`arguments`)),at:i.startIndex,span:d(e),within:E(e,we)}}function et(e){return e.descendantsOfType(`invocation_expression`).flatMap(e=>$e(e)??[])}function tt(e){return e.descendantsOfType(`object_creation_expression`).flatMap(e=>{let t=m(e,`type`);return t===null?[]:[{type:v(t),arguments:Qe(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,we)}]})}function nt(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 rt(e){return e.descendantsOfType(`field_declaration`).flatMap(e=>{if(!A(e).includes(`const`))return[];let t=E(e,Le),n=p(e,`variable_declaration`);return n===null?[]:f(n,`variable_declarator`).flatMap(e=>{let n=m(e,`name`),r=y(e.namedChildren.at(-1)??null);return n===null||r===null?[]:[{name:n.text,value:r,owner:t,at:n.startIndex}]})})}const it=/* @__PURE__ */ new Set([`function_declaration`,`method_declaration`,`func_literal`]),at=/* @__PURE__ */ new Set([`selector_expression`,`index_expression`]);function ot(e){let t=e.type===`unary_expression`?e.namedChildren[0]??null:e;return t?.type===`composite_literal`?h(m(t,`type`)):null}const j=e=>e===null?null:b(e,ot);function st(e){return e===null?null:e.text.slice(1,-1)}function ct(e){return e.namedChildren.filter(e=>e.type===`field_declaration`).flatMap(e=>{let t=m(e,`type`),n=st(m(e,`tag`)),r=f(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 lt(e){let t=m(e,`name`),n=m(e,`type`);if(t===null||n===null||n.type!==`struct_type`)return null;let r=p(n,`field_declaration_list`);return{kind:`struct`,name:t.text,at:t.startIndex,span:d(e),modifiers:[],annotations:[],supertypes:[],generic:m(e,`type_parameters`)!==null,members:r===null?[]:ct(r),constants:[]}}function ut(e){return e.descendantsOfType(`type_spec`).flatMap(e=>lt(e)??[])}function dt(e){let t=m(e,`receiver`)?.namedChildren[0]??null,n=t===null?null:m(t,`type`);return n===null?null:n.text.replace(/^\*/,``)}function ft(e){return(e?.namedChildren??[]).flatMap(e=>{if(e.type!==`parameter_declaration`&&e.type!==`variadic_parameter_declaration`)return[];let t=h(m(e,`type`));return f(e,`identifier`).map(e=>({name:e.text,type:t,at:e.startIndex,annotations:[]}))})}function pt(e){return e.descendantsOfType([`function_declaration`,`method_declaration`]).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=e.type===`method_declaration`;return[{kind:n?`method`:`function`,name:t.text,at:t.startIndex,span:d(e),owner:n?dt(e):null,annotations:[],parameters:ft(m(e,`parameters`)),returnType:h(m(e,`result`))}]})}function mt(e){return p(e.namedChildren.find(e=>e.type===`package_clause`)??e,`package_identifier`)?.text??null}function ht(e){let t=[];for(let n of e.descendantsOfType(`short_var_declaration`).filter(e=>D(e,it))){let e=m(n,`right`)?.namedChildren??[];m(n,`left`)?.namedChildren.forEach((n,r)=>{n.type===`identifier`&&t.push({name:n.text,key:null,type:null,at:n.startIndex,initializer:j(e[r]??null)})})}for(let n of e.descendantsOfType(`var_spec`).filter(e=>D(e,it))){let e=m(n,`value`)?.namedChildren??[],r=h(m(n,`type`));f(n,`identifier`).forEach((n,i)=>t.push({name:n.text,key:null,type:r,at:n.startIndex,initializer:j(e[i]??null)}))}return t.sort((e,t)=>e.at-t.at)}function gt(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:d(e),expression:j(n)}})}function _t(e){let t=T(e);return t!==null&&at.has(t.type)&&_(e,m(t,`operand`))}function vt(e){let t=T(e);return t===null?!1:_t(e)||t.type===`call_expression`&&_(e,m(t,`function`))}function yt(e){let t=m(e,`operand`);if(t===null)return[];if(e.type===`index_expression`)return[C(e,t,null,m(e,`index`))];let n=m(e,`field`);return n===null?[]:[C(e,t,n,null)]}function bt(e){return w(e.descendantsOfType([...at]).filter(e=>!vt(e)).flatMap(yt))}function xt(e){return w(e.descendantsOfType([...at]).filter(_t).flatMap(yt))}function St(e){let t=T(e)??e,n=T(t);return n?.type===`composite_literal`?n:t}function Ct(e){return e.descendantsOfType(`keyed_element`).flatMap(e=>{let t=m(e,`key`)?.namedChildren[0]??null,n=m(e,`value`)?.namedChildren[0]??null;return t===null||n===null?[]:[S(t,n,St(e),ot)]})}function wt(e){return(e?.namedChildren??[]).filter(e=>!g(e)).map(e=>x(e,null,ot))}function Tt(e){let t=m(e,`function`);if(t===null)return null;let n=t.type===`selector_expression`,r=n?m(t,`field`):t;return r===null||r.type!==`identifier`&&r.type!==`field_identifier`?null:{receiver:n?h(m(t,`operand`)):null,name:r.text,arguments:wt(m(e,`arguments`)),at:r.startIndex,span:d(e),within:E(e,it)}}function Et(e){return e.descendantsOfType(`call_expression`).flatMap(e=>Tt(e)??[])}function Dt(e){return e.descendantsOfType(`import_spec`).flatMap(e=>{let t=m(e,`path`),n=y(t);return t===null||n===null?[]:[{name:n,at:t.startIndex}]})}function Ot(e){return e.descendantsOfType(`const_spec`).flatMap(e=>{let t=m(e,`name`),n=y(m(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`},At=/* @__PURE__ */ new Set([`annotation`,`marker_annotation`]);function M(e){let t=e.type===`object_creation_expression`?m(e,`type`):null;return t===null?null:v(t)}const jt=e=>e===null?null:b(e,M);function Mt(e){let t=p(e,`annotation_argument_list`);return t===null?[]:t.namedChildren.map(e=>{if(e.type!==`element_value_pair`)return x(e,null,M);let t=m(e,`value`),n=h(m(e,`key`));return t===null?x(e,n,M):{...b(t,M),name:n,at:t.startIndex}})}function N(e){return e===null?[]:e.namedChildren.filter(e=>At.has(e.type)).map(e=>ve(e,Mt))}function P(e){return e===null?[]:e.children.filter(e=>!e.isNamed).map(e=>e.type)}function Nt(e){let t=m(e,`superclass`)?.namedChildren[0],n=[...f(e,`super_interfaces`).flatMap(e=>Pt(e,`implements`)),...f(e,`extends_interfaces`).flatMap(e=>Pt(e,`extends`))];return[...t?[{name:v(t),relation:`extends`}]:[],...n]}function Pt(e,t){return(p(e,`type_list`)?.namedChildren??[]).map(e=>({name:v(e),relation:t}))}function Ft(e){let t=h(m(e,`name`));return t===null?null:{kind:`parameter`,name:t,type:h(m(e,`type`)),at:m(e,`name`)?.startIndex??e.startIndex,modifiers:P(p(e,`modifiers`)),annotations:N(p(e,`modifiers`)),arity:0,tag:null}}function It(e){let t=[];for(let n of e.namedChildren)if(n.type===`field_declaration`){let e=p(n,`modifiers`),r=h(m(n,`type`));for(let i of f(n,`variable_declarator`)){let n=m(i,`name`);n!==null&&t.push({kind:`field`,name:n.text,type:r,at:n.startIndex,modifiers:P(e),annotations:N(e),arity:0,tag:null})}}else if(n.type===`method_declaration`){let e=m(n,`name`);if(e===null)continue;let r=p(n,`modifiers`),i=m(n,`parameters`);t.push({kind:`method`,name:e.text,type:h(m(n,`type`)),at:e.startIndex,modifiers:P(r),annotations:N(r),arity:i?.namedChildren.filter(e=>e.type===`formal_parameter`||e.type===`spread_parameter`).length??0,tag:null})}return t}function Lt(e,t){let n=m(e,`name`),r=p(e,`modifiers`),i=m(e,`body`),a=t===`record`?m(e,`parameters`):null,o=[];a!==null&&o.push(...a.namedChildren.filter(e=>e.type===`formal_parameter`).flatMap(e=>Ft(e)??[])),i!==null&&o.push(...It(i));let s=i?.type===`enum_body`?i.namedChildren.filter(e=>e.type===`enum_constant`).map(e=>m(e,`name`)?.text??``):[],c=i?.type===`enum_body`?p(i,`enum_body_declarations`):null;return c!==null&&o.push(...It(c)),{kind:t,name:n?.text??``,at:n?.startIndex??e.startIndex,span:d(e),modifiers:P(r),annotations:N(r),supertypes:Nt(e),generic:m(e,`type_parameters`)!==null,members:o,constants:s.filter(e=>e!==``)}}function Rt(e){return e.descendantsOfType(Object.keys(kt)).map(e=>Lt(e,kt[e.type]))}const F=/* @__PURE__ */ new Set([`method_declaration`,`constructor_declaration`]),zt={method_declaration:`method`,constructor_declaration:`constructor`},Bt=/* @__PURE__ */ new Set([`class_declaration`,`record_declaration`,`enum_declaration`,`interface_declaration`]);function Vt(e){return(e?.namedChildren??[]).filter(e=>e.type===`formal_parameter`||e.type===`spread_parameter`).flatMap(e=>{let t=m(e,`name`)??p(e,`identifier`);return t===null?[]:[{name:t.text,type:h(m(e,`type`)),at:t.startIndex,annotations:N(p(e,`modifiers`))}]})}function Ht(e){return e.descendantsOfType([...F]).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[{kind:zt[e.type],name:t.text,at:t.startIndex,span:d(e),owner:E(e,Bt),annotations:N(p(e,`modifiers`)),parameters:Vt(m(e,`parameters`)),returnType:h(m(e,`type`))}]})}function Ut(e){return e.namedChildren.find(e=>e.type===`package_declaration`)?.namedChildren.find(e=>e.type===`scoped_identifier`||e.type===`identifier`)?.text??null}function Wt(e){return e.descendantsOfType(`local_variable_declaration`).filter(e=>D(e,F)).flatMap(e=>{let t=h(m(e,`type`));return f(e,`variable_declarator`).flatMap(e=>{let n=m(e,`name`);return n===null?[]:[{name:n.text,key:null,type:t===`var`?null:t,at:n.startIndex,initializer:jt(m(e,`value`))}]})})}function Gt(e){return e.descendantsOfType(`return_statement`).map(e=>{let t=e.namedChildren.find(e=>!g(e))??null;return{at:e.startIndex,span:d(e),expression:jt(t)}})}function Kt(){return[]}function qt(){return[]}function Jt(){return[]}function Yt(e){return(e?.namedChildren??[]).filter(e=>!g(e)).map(e=>x(e,null,M))}function Xt(e,t){return{receiver:h(m(e,`object`)),name:t.text,arguments:Yt(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,F)}}function Zt(e){return e.descendantsOfType(`method_invocation`).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[Xt(e,t)]})}function Qt(e){return e.descendantsOfType(`object_creation_expression`).flatMap(e=>{let t=m(e,`type`);return t===null?[]:[{type:v(t),arguments:Yt(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,F)}]})}function $t(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:p(e,`asterisk`)===null?t.text:`${t.text}.*`,at:t.startIndex}]})}function en(e){return e.descendantsOfType(`field_declaration`).flatMap(e=>{if(!P(p(e,`modifiers`)).includes(`final`))return[];let t=E(e,Bt);return f(e,`variable_declarator`).flatMap(e=>{let n=m(e,`name`),r=y(m(e,`value`));return n===null||r===null?[]:[{name:n.text,value:r,owner:t,at:n.startIndex}]})})}const tn=`annotation`,nn=/* @__PURE__ */ new Set([`val`,`var`]),rn=/* @__PURE__ */ new Set([`function_declaration`]),an=/* @__PURE__ */ new Set([`class_declaration`,`object_declaration`]),on=/* @__PURE__ */ new Set([`navigation_expression`,`index_expression`]);function I(e){let t=e.type===`call_expression`?e.firstNamedChild:null;return t?.type===`identifier`&&/^[A-Z]/.test(t.text)?t.text:null}const sn=e=>e===null?null:b(e,I);function cn(e){return e===null?[]:f(e,`value_argument`).map(e=>{let t=e.children.findIndex(e=>e.type===`=`);if(t>0)return x(e.children.slice(t+1).find(e=>e.isNamed)??e,e.children[t-1].text,I);let n=p(e,`value_argument_label`);return x(e.namedChildren.find(e=>e.type!==`value_argument_label`)??e,n?n.text.replace(/\s*=\s*$/,``):null,I)})}function ln(e){return cn(e.descendantsOfType(`value_arguments`)[0]??null)}function un(e){return e.descendantsOfType(`user_type`)[0]?.text??e.text.replace(/^@/,``)}function L(e){return e===null?[]:e.namedChildren.filter(e=>e.type===tn).map(e=>({name:un(e),at:e.startIndex,arguments:ln(e)}))}function R(e){return e===null?[]:e.namedChildren.filter(e=>e.type!==tn).map(e=>e.text)}function z(e){return h(p(e,`user_type`))}function dn(e){let t=p(e,`modifiers`),n=e.children.find(e=>nn.has(e.type)),r=p(e,`identifier`);return n===void 0||r===null?null:{kind:`parameter`,name:r.text,type:z(e),at:r.startIndex,modifiers:R(t),annotations:L(t),arity:0,tag:null}}function fn(e){let t=p(e,`variable_declaration`),n=t?p(t,`identifier`):null;if(t===null||n===null)return null;let r=p(e,`modifiers`);return{kind:`field`,name:n.text,type:z(t),at:n.startIndex,modifiers:R(r),annotations:L(r),arity:0,tag:null}}function pn(e){let t=m(e,`name`);if(t===null)return null;let n=p(e,`modifiers`),r=p(e,`function_value_parameters`);return{kind:`method`,name:t.text,type:z(e),at:t.startIndex,modifiers:R(n),annotations:L(n),arity:r?f(r,`parameter`).length:0,tag:null}}function mn(e){let t=p(e,`delegation_specifiers`);return t===null?[]:f(t,`delegation_specifier`).flatMap(e=>{let t=p(e,`constructor_invocation`),n=p(t||e,`user_type`);return n===null?[]:[{name:n.text,relation:t?`extends`:`implements`}]})}function hn(e){let t=p(e,`modifiers`);return f(t??e,`class_modifier`).some(e=>e.text===`enum`)?`enum`:e.children.some(e=>e.type===`interface`)?`interface`:`class`}function gn(e){let t=m(e,`name`),n=p(e,`modifiers`),r=hn(e),i=[],a=p(e,`primary_constructor`),o=a?p(a,`class_parameters`):null;for(let e of o?.namedChildren??[]){if(e.type!==`class_parameter`)continue;let t=dn(e);t&&i.push(t)}let s=p(e,`class_body`);for(let e of s?.namedChildren??[])if(e.type===`property_declaration`){let t=fn(e);t&&i.push(t)}else if(e.type===`function_declaration`){let t=pn(e);t&&i.push(t)}let c=p(e,`enum_class_body`)?.namedChildren.filter(e=>e.type===`enum_entry`).map(e=>p(e,`identifier`)?.text??``)??[];return{kind:r,name:t?.text??``,at:t?.startIndex??e.startIndex,span:d(e),modifiers:R(n),annotations:L(n),supertypes:mn(e),generic:p(e,`type_parameters`)!==null,members:i,constants:c.filter(e=>e!==``)}}function _n(e){return e.descendantsOfType([`class_declaration`,`object_declaration`]).map(gn)}function vn(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=p(e,`identifier`);return r===null?[]:[{name:r.text,type:z(e),at:r.startIndex,annotations:L(n)}]})}function yn(e){return e.descendantsOfType(`function_declaration`).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=E(e,an);return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:d(e),owner:n,annotations:L(p(e,`modifiers`)),parameters:vn(p(e,`function_value_parameters`)),returnType:z(e)}]})}function bn(e){let t=e.namedChildren.find(e=>e.type===`package_header`)??null;return t===null?null:h(p(t,`qualified_identifier`))}function xn(e){let t=e.children.findIndex(e=>e.type===`=`);return t<0?null:sn(e.children.slice(t+1).find(e=>e.isNamed)??null)}function Sn(e){return e.descendantsOfType(`property_declaration`).filter(e=>D(e,rn)).flatMap(e=>{let t=p(e,`variable_declaration`),n=t?p(t,`identifier`):null;return t===null||n===null?[]:[{name:n.text,key:null,type:z(t),at:n.startIndex,initializer:xn(e)}]})}function Cn(e){return e.descendantsOfType(`return_expression`).map(e=>({at:e.startIndex,span:d(e),expression:sn(e.namedChildren[0]??null)}))}function wn(e){let t=T(e);return t!==null&&on.has(t.type)&&_(e,t.firstNamedChild)}function Tn(e){let t=T(e);return t===null?!1:wn(e)||t.type===`call_expression`&&_(e,t.firstNamedChild)}function En(e){let t=e.firstNamedChild;if(t===null)return[];if(e.type===`index_expression`)return[C(e,t,null,e.namedChildren[1]??null)];let n=e.lastNamedChild;return n===null||n.type!==`identifier`?[]:[C(e,t,n,null)]}function Dn(e){return w(e.descendantsOfType([...on]).filter(e=>!Tn(e)).flatMap(En))}function On(e){return w(e.descendantsOfType([...on]).filter(wn).flatMap(En))}function kn(e){return e.descendantsOfType(`infix_expression`).flatMap(e=>{let[t,n,r]=e.namedChildren;return n?.text===`to`&&r!==void 0?[S(t,r,e,I)]:[]})}function An(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?h(t.firstNamedChild):null,name:r.text,arguments:cn(p(e,`value_arguments`)),at:r.startIndex,span:d(e),within:E(e,rn)}}function jn(e){return e.descendantsOfType(`call_expression`).flatMap(e=>An(e)??[])}function Mn(e){return e.descendantsOfType(`import`).flatMap(e=>{let t=p(e,`qualified_identifier`);return t===null?[]:[{name:/\*$/.test(e.text)?`${t.text}.*`:t.text,at:t.startIndex}]})}function Nn(e){return e.descendantsOfType(`property_declaration`).flatMap(e=>{if(!R(p(e,`modifiers`)).includes(`const`))return[];let t=p(p(e,`variable_declaration`)??e,`identifier`),n=y(e.lastNamedChild);return t===null||n===null?[]:[{name:t.text,value:n,owner:E(e,an),at:t.startIndex}]})}const B=/* @__PURE__ */ new Set([`function_definition`]),Pn=/* @__PURE__ */ new Set([`class_definition`,`object_definition`,`trait_definition`]),Fn=/* @__PURE__ */ new Set([`field_expression`]);function In(e){let t=e.charAt(0);return t!==t.toLowerCase()}function V(e){let t=e.type===`call_expression`?m(e,`function`):null;return t?.type===`identifier`&&In(t.text)?t.text:null}const Ln=e=>e===null?null:b(e,V);function Rn(e){return e===null?[]:e.namedChildren.map(e=>{if(e.type===`assignment_expression`){let t=m(e,`left`),n=m(e,`right`);if(t!==null&&n!==null)return x(n,t.text,V)}return x(e,null,V)})}function H(e){let t=p(e,`modifiers`);return[...f(e,`annotation`),...t===null?[]:f(t,`annotation`)].map(e=>ve(e,e=>Rn(m(e,`arguments`)))).sort((e,t)=>e.at-t.at)}function U(e){let t=p(e,`modifiers`);return t===null?[]:t.children.filter(e=>e.type!==`annotation`).map(e=>e.text)}function zn(e){return(e?.namedChildren??[]).flatMap(e=>{if(e.type!==`parameter`)return[];let t=m(e,`name`);return t===null?[]:[{name:t.text,type:h(m(e,`type`)),at:t.startIndex,annotations:H(e)}]})}function Bn(e){if(e.type===`function_definition`){let t=m(e,`name`);return t===null?null:{kind:`method`,name:t.text,type:h(m(e,`return_type`)),at:t.startIndex,modifiers:U(e),annotations:H(e),arity:zn(m(e,`parameters`)).length,tag:null}}if(e.type!==`val_definition`&&e.type!==`var_definition`)return null;let t=m(e,`pattern`);return t===null||t.type!==`identifier`?null:{kind:`field`,name:t.text,type:h(m(e,`type`)),at:t.startIndex,modifiers:U(e),annotations:H(e),arity:0,tag:null}}function Vn(e){let t=e.children.some(e=>e.type===`case`);return(m(e,`class_parameters`)?.namedChildren??[]).flatMap(e=>{let n=m(e,`name`),r=e.children.some(e=>e.type===`val`||e.type===`var`);return n===null||!r&&!t?[]:[{kind:`field`,name:n.text,type:h(m(e,`type`)),at:n.startIndex,modifiers:[],annotations:H(e),arity:0,tag:null}]})}function Hn(e){let t=p(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 Un(e){return e.type===`trait_definition`?`interface`:`class`}function Wn(e){let t=m(e,`name`),n=m(e,`body`),r=[...Vn(e),...(n?.namedChildren??[]).flatMap(e=>Bn(e)??[])];return{kind:Un(e),name:t?.text??``,at:t?.startIndex??e.startIndex,span:d(e),modifiers:U(e),annotations:H(e),supertypes:Hn(e),generic:p(e,`type_parameters`)!==null,members:r,constants:[]}}function Gn(e){let t=p(e,`package_clause`);return h(t===null?null:m(t,`name`))}function Kn(e){return e.descendantsOfType([...Pn]).map(Wn)}function qn(e){return e.descendantsOfType([...B]).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=E(e,Pn);return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:d(e),owner:n,annotations:H(e),parameters:zn(m(e,`parameters`)),returnType:h(m(e,`return_type`))}]})}function Jn(e){return e.descendantsOfType([`val_definition`,`var_definition`]).filter(e=>D(e,B)).flatMap(e=>{let t=m(e,`pattern`);return t===null||t.type!==`identifier`?[]:[{name:t.text,key:null,type:h(m(e,`type`)),at:t.startIndex,initializer:Ln(m(e,`value`))}]})}function Yn(e){return e.descendantsOfType(`return_expression`).map(e=>({at:e.startIndex,span:d(e),expression:Ln(e.namedChildren[0]??null)}))}function Xn(e){let t=T(e);return t!==null&&Fn.has(t.type)&&_(e,m(t,`value`))}function Zn(e){let t=T(e);return t===null?!1:Xn(e)||t.type===`call_expression`&&_(e,m(t,`function`))}function Qn(e){let t=m(e,`value`),n=m(e,`field`);return t===null||n===null?[]:[C(e,t,n,null)]}function $n(e){return w(e.descendantsOfType([...Fn]).filter(e=>!Zn(e)).flatMap(Qn))}function er(e){return w(e.descendantsOfType([...Fn]).filter(Xn).flatMap(Qn))}function tr(e){return e.descendantsOfType(`infix_expression`).flatMap(e=>{let t=m(e,`left`),n=m(e,`right`);return m(e,`operator`)?.text===`->`&&t!==null&&n!==null?[S(t,n,e,V)]:[]})}function nr(e){let t=m(e,`function`);if(t===null)return null;let n=t.type===`field_expression`,r=n?m(t,`field`):t;return r===null||r.type!==`identifier`?null:{receiver:n?h(m(t,`value`)):null,name:r.text,arguments:Rn(m(e,`arguments`)),at:r.startIndex,span:d(e),within:E(e,B)}}function rr(e){return e.descendantsOfType(`call_expression`).flatMap(e=>nr(e)??[])}function ir(e){return e.descendantsOfType(`instance_expression`).flatMap(e=>{let t=e.firstNamedChild;return t===null?[]:[{type:t.text,arguments:Rn(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,B)}]})}function ar(e){return e.descendantsOfType(`import_declaration`).flatMap(e=>{let t=e.childrenForFieldName(`path`).filter(e=>e.isNamed).map(e=>e.text).join(`.`),n=p(e,`namespace_selectors`);return n===null?p(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 or(e){return e.descendantsOfType(`val_definition`).flatMap(e=>{if(!U(e).includes(`final`))return[];let t=m(e,`pattern`),n=y(m(e,`value`));return t===null||t.type!==`identifier`||n===null?[]:[{name:t.text,value:n,owner:E(e,Pn),at:t.startIndex}]})}const sr=/* @__PURE__ */ new Set([`identifier`,`attribute`,`subscript`]),cr=/* @__PURE__ */ new Set([`function_definition`]),lr=/* @__PURE__ */ new Set([`class_definition`]),ur={attribute:`object`,subscript:`value`};function W(e){let t=e.type===`call`?m(e,`function`):null;return t?.type===`identifier`&&/^[A-Z]/.test(t.text)?t.text:null}const dr=e=>e===null?null:b(e,W);function fr(e){return(e?.namedChildren??[]).filter(e=>!g(e)).map(e=>e.type===`keyword_argument`?{...b(m(e,`value`)??e,W),name:m(e,`name`)?.text??null,at:e.startIndex}:x(e,null,W))}function pr(e){return e.type===`call`?{name:m(e,`function`)?.text??e.text,at:e.startIndex,arguments:fr(m(e,`arguments`))}:{name:e.text,at:e.startIndex,arguments:[]}}function G(e){return f(e,`decorator`).flatMap(e=>{let t=e.namedChildren[0];return t===void 0?[]:[pr(t)]})}function mr(e){return(m(e,`superclasses`)?.namedChildren??[]).flatMap(e=>{if(!sr.has(e.type)&&e.type!==`subscript`)return[];let t=e.type===`subscript`?m(e,`value`):e;return t===null?[]:[{name:t.text,relation:`extends`}]})}function K(e){return e.type===`expression_statement`?p(e,`assignment`):null}function hr(e){let t=m(e,`left`);if(t===null||t.type!==`identifier`)return[];let n=m(e,`right`),r=m(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`?[pr(n)]:[];return[{kind:`field`,name:t.text,type:r.text,at:t.startIndex,modifiers:[],annotations:i,arity:0,tag:null}]}function gr(e,t){let n=m(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:m(e,`return_type`)?.text??null,at:n.startIndex,modifiers:[],annotations:t,arity:m(e,`parameters`)?.namedChildren.length??0,tag:null}]:[]}function _r(e){return e.namedChildren.flatMap(e=>{if(e.type===`decorated_definition`){let t=m(e,`definition`);return t===null?[]:gr(t,G(e))}let t=K(e);return t===null?gr(e,[]):hr(t)})}function vr(e){return e.namedChildren.flatMap(e=>{let t=K(e);if(t===null||m(t,`type`)!==null)return[];let n=m(t,`left`);return n?.type===`identifier`?[n.text]:[]})}function yr(e){let t=m(e,`name`);if(t===null)return null;let n=m(e,`body`),r=T(e)?.type===`decorated_definition`?T(e):null;return{kind:`class`,name:t.text,at:t.startIndex,span:d(e),modifiers:[],annotations:r===null?[]:G(r),supertypes:mr(e),generic:m(e,`type_parameters`)!==null,members:n===null?[]:_r(n),constants:n===null?[]:vr(n)}}function br(e){return e.descendantsOfType(`class_definition`).flatMap(e=>yr(e)??[])}function xr(e){if(e.type===`identifier`)return{name:e.text,type:null,at:e.startIndex,annotations:[]};let t=e.type===`typed_parameter`?p(e,`identifier`):m(e,`name`);return t===null?null:{name:t.text,type:h(m(e,`type`)),at:t.startIndex,annotations:[]}}function Sr(e){return e.descendantsOfType(`function_definition`).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=E(e,lr),r=T(e)?.type===`decorated_definition`?T(e):null;return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:d(e),owner:n,annotations:r===null?[]:G(r),parameters:(m(e,`parameters`)?.namedChildren??[]).flatMap(e=>xr(e)??[]),returnType:h(m(e,`return_type`))}]})}function Cr(){return null}function wr(e){return e.descendantsOfType(`assignment`).filter(e=>T(e)?.type===`expression_statement`&&D(e,cr)).flatMap(e=>{let t=m(e,`left`);return t===null||t.type!==`identifier`?[]:[{name:t.text,key:null,type:h(m(e,`type`)),at:t.startIndex,initializer:dr(m(e,`right`))}]})}function Tr(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:d(e),expression:dr(e.namedChildren.find(e=>!g(e))??null)}))}function Er(e){let t=T(e),n=t===null?void 0:ur[t.type];return t!==null&&n!==void 0&&_(e,m(t,n))}function Dr(e){let t=T(e);return t===null?!1:Er(e)||t.type===`call`&&_(e,m(t,`function`))}function Or(e){let t=m(e,ur[e.type]);if(t===null)return[];if(e.type===`subscript`)return[C(e,t,null,m(e,`subscript`))];let n=m(e,`attribute`);return n===null?[]:[C(e,t,n,null)]}function kr(e){return w(e.descendantsOfType([`attribute`,`subscript`]).filter(e=>!Dr(e)).flatMap(Or))}function Ar(e){return w(e.descendantsOfType([`attribute`,`subscript`]).filter(Er).flatMap(Or))}function jr(e){return e.descendantsOfType(`pair`).flatMap(e=>{let t=T(e),n=m(e,`key`),r=m(e,`value`);return t===null||t.type!==`dictionary`||n===null||r===null?[]:[S(n,r,t,W)]})}function Mr(e){let t=m(e,`function`);for(;t!==null&&t.type===`call`;)t=m(t,`function`);return t}function Nr(e){let t=Mr(e);if(t===null)return null;let n=t.type===`attribute`,r=n?m(t,`attribute`):t;return r===null||r.type!==`identifier`?null:{receiver:n?h(m(t,`object`)):null,name:r.text,arguments:fr(m(e,`arguments`)),at:r.startIndex,span:d(e),within:E(e,cr)}}function Pr(e){return e.descendantsOfType(`call`).flatMap(e=>Nr(e)??[])}function Fr(e){return e.descendantsOfType([`import_statement`,`import_from_statement`]).flatMap(e=>{if(e.type===`import_from_statement`){let t=m(e,`module_name`);return t===null?[]:[{name:t.text,at:t.startIndex}]}return e.namedChildren.flatMap(e=>{let t=e.type===`aliased_import`?m(e,`name`):e;return t!==null&&(t.type===`dotted_name`||t.type===`identifier`)?[{name:t.text,at:t.startIndex}]:[]})})}function Ir(e){return e.namedChildren.flatMap(e=>{let t=K(e);if(t===null||m(t,`type`)!==null)return[];let n=m(t,`left`),r=y(m(t,`right`));return n?.type===`identifier`&&r!==null?[{name:n.text,value:r,owner:null,at:n.startIndex}]:[]})}const Lr={class_declaration:`class`,abstract_class_declaration:`class`,interface_declaration:`interface`,enum_declaration:`enum`,type_alias_declaration:`alias`},Rr=/* @__PURE__ */ new Set([`abstract`,`declare`,`get`,`override`,`private`,`protected`,`public`,`readonly`,`set`,`static`]),zr=/* @__PURE__ */ new Set([`required_parameter`,`optional_parameter`]),Br=/* @__PURE__ */ new Set([`required_parameter`,`optional_parameter`,`rest_pattern`]),Vr=/* @__PURE__ */ new Set([`public_field_definition`,`field_definition`,`property_signature`]),Hr=/* @__PURE__ */ new Set([`method_signature`,`method_definition`]),q=/* @__PURE__ */ new Set([`function_declaration`,`generator_function_declaration`,`method_definition`]),Ur=/* @__PURE__ */ new Set([...q,`arrow_function`,`function_expression`,`function`]),Wr=/* @__PURE__ */ new Set([`class_declaration`,`abstract_class_declaration`]),Gr=/* @__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`?h(m(e,`constructor`)):null}const Kr=e=>e===null?null:b(e,Y);function X(e){return e.children.filter(e=>Rr.has(e.type)||e.type===`accessibility_modifier`).map(e=>e.text)}function qr(e){return(m(e,`type`)??m(e,`return_type`))?.namedChildren[0]?.text??null}function Z(e,t,n,r=0){return{kind:e,name:J(n),type:qr(t),at:n.startIndex,modifiers:X(t),annotations:[],arity:r,tag:null}}function Jr(e){return m(e,`parameters`)?.namedChildren.filter(e=>Br.has(e.type)).length??0}function Yr(e){return(m(e,`parameters`)?.namedChildren??[]).flatMap(e=>{let t=m(e,`pattern`);return!zr.has(e.type)||t===null||X(e).length===0?[]:[Z(`parameter`,e,t)]})}function Xr(e){return e.namedChildren.flatMap(e=>{if(Vr.has(e.type)){let t=m(e,`name`)??m(e,`property`);return t===null?[]:[Z(`field`,e,t)]}if(e.type===`index_signature`){let t=m(e,`name`);return t===null?[]:[Z(`index`,e,t)]}if(Hr.has(e.type)){let t=m(e,`name`);if(t===null)return[];let n=X(e);return n.includes(`get`)||n.includes(`set`)?[Z(`accessor`,e,t)]:t.text===`constructor`?Yr(e):[Z(`method`,e,t,Jr(e))]}return[]})}function Zr(e){let t=p(e,`extends_clause`),n=t?m(t,`value`):e.namedChildren.find(e=>e.type===`identifier`||e.type===`member_expression`)??null;return n===null?[]:[{name:v(n),relation:`extends`}]}function Qr(e){let t=f(e,`extends_type_clause`).flatMap(e=>e.namedChildren.map(e=>({name:v(e),relation:`extends`}))),n=p(e,`class_heritage`);if(n===null)return t;let r=(p(n,`implements_clause`)?.namedChildren??[]).map(e=>({name:v(e),relation:`implements`}));return[...Zr(n),...r]}function $r(e){return e.namedChildren.flatMap(e=>{if(e.type===`enum_assignment`){let t=m(e,`name`);return t===null?[]:[J(t)]}return e.type===`property_identifier`||e.type===`string`?[J(e)]:[]})}function ei(e,t){let n=m(e,`name`);if(n===null)return null;let r=t===`alias`?m(e,`value`):m(e,`body`);return t===`alias`&&r?.type!==`object_type`?null:{kind:t,name:n.text,at:n.startIndex,span:d(e),modifiers:X(e),annotations:[],supertypes:Qr(e),generic:m(e,`type_parameters`)!==null,members:r===null||t===`enum`?[]:Xr(r),constants:t===`enum`&&r!==null?$r(r):[]}}function ti(e){return e.descendantsOfType(Object.keys(Lr)).flatMap(e=>ei(e,Lr[e.type])??[])}function ni(e){return(e?.namedChildren??[]).filter(e=>!g(e)).map(e=>x(e,null,Y))}function ri(e){return f(e,`decorator`).flatMap(e=>{let t=e.namedChildren[0];return t===void 0?[]:t.type===`call_expression`?[{name:h(m(t,`function`))??t.text,at:t.startIndex,arguments:ni(m(t,`arguments`))}]:[{name:t.text,at:t.startIndex,arguments:[]}]})}function ii(e){return(e?.namedChildren??[]).filter(e=>zr.has(e.type)).flatMap(e=>{let t=m(e,`pattern`);return t===null||t.type!==`identifier`?[]:[{name:t.text,type:h(m(e,`type`)?.namedChildren[0]??null),at:t.startIndex,annotations:[]}]})}function ai(e){return e.descendantsOfType([...q]).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=E(e,Wr),r=e.type===`method_definition`;return[{kind:t.text===`constructor`?`constructor`:r?`method`:`function`,name:t.text,at:t.startIndex,span:d(e),owner:r?n:null,annotations:ri(e),parameters:ii(m(e,`parameters`)),returnType:h(m(e,`return_type`)?.namedChildren[0]??null)}]})}function oi(){return null}function si(e){return h(m(e,`type`)?.namedChildren[0]??null)}function ci(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=m(e,`left`);return t?.type===`shorthand_property_identifier_pattern`?[n(t.text,t)]:[]}if(e.type!==`pair_pattern`)return[];let t=m(e,`key`),r=m(e,`value`),i=r?.type===`assignment_pattern`?m(r,`left`):r;return t!==null&&i?.type===`identifier`?[n(J(t),i)]:[]})}function li(e){return e.descendantsOfType(`variable_declarator`).filter(e=>D(e,Ur)).flatMap(e=>{let t=m(e,`name`),n=Kr(m(e,`value`));return t===null?[]:t.type===`object_pattern`?ci(t,n):t.type===`identifier`?[{name:t.text,key:null,type:si(e),at:t.startIndex,initializer:n}]:[]})}function ui(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:d(e),expression:Kr(e.namedChildren.find(e=>!g(e))??null)}))}function di(e){let t=T(e);return t!==null&&Gr.has(t.type)&&_(e,m(t,`object`))}function fi(e){let t=T(e);return t===null?!1:di(e)||t.type===`call_expression`&&_(e,m(t,`function`))}function pi(e){let t=m(e,`object`);if(t===null)return[];if(e.type!==`member_expression`)return[C(e,t,null,m(e,`index`))];let n=m(e,`property`);return n===null?[]:[C(e,t,n,null)]}function mi(e){return w(e.descendantsOfType([...Gr]).filter(e=>!fi(e)).flatMap(pi))}function hi(e){return w(e.descendantsOfType([...Gr]).filter(di).flatMap(pi))}function gi(e){return w(e.descendantsOfType([`pair`,`shorthand_property_identifier`]).flatMap(e=>{let t=T(e);if(t===null||t.type!==`object`)return[];if(e.type===`shorthand_property_identifier`)return[S(e,e,t,Y)];let n=m(e,`key`),r=m(e,`value`);return n===null||r===null?[]:[S(n,r,t,Y)]}))}function _i(e){let t=m(e,`function`);if(t===null)return null;let n=t.type===`member_expression`,r=n?m(t,`property`):t;return r===null||r.type!==`identifier`&&r.type!==`property_identifier`?null:{receiver:n?h(m(t,`object`)):null,name:r.text,arguments:ni(m(e,`arguments`)),at:r.startIndex,span:d(e),within:E(e,q)}}function vi(e){return e.descendantsOfType(`call_expression`).flatMap(e=>_i(e)??[])}const yi=e=>{let t=T(e);return t?.type===`program`||t?.type===`export_statement`&&T(t)?.type===`program`};function bi(e){return e.descendantsOfType(`new_expression`).flatMap(e=>{let t=m(e,`constructor`);return t===null?[]:[{type:t.text,arguments:ni(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,q)}]})}function xi(e){return e.descendantsOfType(`import_statement`).flatMap(e=>{let t=m(e,`source`),n=y(t);return t===null||n===null?[]:[{name:n,at:t.startIndex}]})}function Si(e){return e.descendantsOfType(`lexical_declaration`).flatMap(e=>p(e,`const`)===null||!yi(e)?[]:f(e,`variable_declarator`).flatMap(e=>{let t=m(e,`name`),n=y(m(e,`value`));return t===null||n===null?[]:[{name:t.text,value:n,owner:null,at:t.startIndex}]}))}const Q=()=>[],Ci={packageOf:Ut,declarations:Rt,callables:Ht,locals:Wt,returns:Gt,accesses:Kt,innerAccesses:qt,pairs:Jt,calls:Zt,constructions:Qt,imports:$t,constants:en},wi={packageOf:oi,declarations:ti,callables:ai,locals:li,returns:ui,accesses:mi,innerAccesses:hi,pairs:gi,calls:vi,constructions:bi,imports:xi,constants:Si},Ti={java:Ci,kotlin:{packageOf:bn,declarations:_n,callables:yn,locals:Sn,returns:Cn,accesses:Dn,innerAccesses:On,pairs:kn,calls:jn,constructions:Q,imports:Mn,constants:Nn},typescript:wi,javascript:wi,python:{packageOf:Cr,declarations:br,callables:Sr,locals:wr,returns:Tr,accesses:kr,innerAccesses:Ar,pairs:jr,calls:Pr,constructions:Q,imports:Fr,constants:Ir},go:{packageOf:mt,declarations:ut,callables:pt,locals:ht,returns:gt,accesses:bt,innerAccesses:xt,pairs:Ct,calls:Et,constructions:Q,imports:Dt,constants:Ot},groovy:Ci,scala:{packageOf:Gn,declarations:Kn,callables:qn,locals:Jn,returns:Yn,accesses:$n,innerAccesses:er,pairs:tr,calls:rr,constructions:ir,imports:ar,constants:or},csharp:{packageOf:Ve,declarations:Ie,callables:Be,locals:He,returns:Ue,accesses:qe,innerAccesses:Je,pairs:Ze,calls:et,constructions:tt,imports:nt,constants:rt}},Ei=/* @__PURE__ */ new Map;function Di(e,t){let n=`${e.runtimeFile}\0${e.grammarFiles[t]}`,r=Ei.get(n);return r===void 0&&(r=Promise.all([l(e.runtimeFile),l(e.grammarFiles[t])]).then(([e,t])=>s(`sha256`).update(e).update(t).digest(`hex`)),Ei.set(n,r),r.catch(()=>Ei.delete(n))),r}function Oi(t){let n=null,r=/* @__PURE__ */ new Map,i=!1,a=()=>(n??=import(`web-tree-sitter`).then(async e=>(await e.Parser.init({locateFile:()=>t.runtimeFile}),e)),n),o=e=>{let n=r.get(e);if(n)return n;let i=(async()=>{let{Language:n,Parser:r}=await a(),i=await n.load(new Uint8Array(await l(t.grammarFiles[e]))),o=new r;return o.setLanguage(i),o})();return r.set(e,i),i.catch(()=>r.delete(e)),i};return{async facts(t){if(i)throw Error(`The syntax port is disposed`);let n=u(t.path);if(n===null)throw Error(`No grammar is registered for ${t.path}`);let r=(await o(n)).parse(t.text),a=e(t.text);if(r===null)return{path:t.path,language:n,package:null,errors:[{offset:0,line:1}],lineStarts:a,declarations:[],callables:[],locals:[],returns:[],accesses:[],innerAccesses:[],pairs:[],calls:[],constructions:[],imports:[],constants:[]};try{let e=Ti[n],i=r.rootNode;return{path:t.path,language:n,package:e.packageOf(i),errors:ki(i,t.text),lineStarts:a,declarations:e.declarations(i),callables:e.callables(i),locals:e.locals(i),returns:e.returns(i),accesses:e.accesses(i),innerAccesses:e.innerAccesses(i),pairs:e.pairs(i),calls:e.calls(i),constructions:e.constructions(i),imports:e.imports(i),constants:e.constants(i)}}finally{r.delete()}},version:e=>Di(t,e),async dispose(){i=!0;let e=[...r.values()];r.clear();for(let t of e)(await t.catch(()=>null))?.delete()}}}function ki(e,t){let r=[],i=e=>{if(!(r.length>=20||!e.hasError)){if(e.isError||e.isMissing)r.push({offset:e.startIndex,line:n(t,e.startIndex)});else for(let t of e.children)i(t)}};return i(e),r}function Ai(){let e=i.join(import.meta.dirname,`syntax-worker.js`);return o(e)?{file:e,execArgv:[]}:{file:i.join(import.meta.dirname,`worker.ts`),execArgv:[`--experimental-strip-types`]}}function ji({locations:e,size:t}){let n=[],r=Ai(),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()),ee=()=>{let t=new re(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},l=()=>{let e=n.find(e=>e.waiting.size===0);return e===void 0?n.length<t?ee():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=l(),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 Di(e,t)},async dispose(){o=!0,await Promise.all([...n].map(e=>e.worker.terminate())),n.length=0}}}const Mi=e=>s(`sha256`).update(e).digest(`hex`);function Ni(e,t=null,n=!0){let r=/* @__PURE__ */ new Map,i=async(n,r)=>{let i=u(n.path);if(t===null||i===null)return e.facts(n);let a=s(`sha256`).update([`facts-2`,await e.version(i),n.path,r].join(`\0`)).digest(`hex`),o=await t.read(a);if(o!==null)return o;let c=await e.facts(n);return await t.write(a,c),c},a=e=>{if(!n)return i(e,Mi(e.text));let t=Mi(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(a))}}function Pi(e){return Math.min(4,Math.max(1,Math.floor(e/2)))}const Fi=Pi(a());function Ii(e,t){return e>200?t:0}let $={workers:0,cacheDirectory:null,remember:!0},Li=null,Ri=null;function zi(e){$=e,Li=null,Ri?.dispose(),Ri=null}function Bi(){return Li??=Vi(),Li}function Vi(){let e=$.cacheDirectory===null?null:oe($.cacheDirectory),t=ue(),n=$.workers>0?ji({locations:t,size:$.workers}):null;Ri=n;let r={cache:Ni(Oi(t),e,$.remember),hold:null},i=n===null?null:{cache:Ni(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&&Ii(e,$.workers)>0?i:r,t)}}async function Hi(e){let n=e.filter(e=>u(e.file)!==null);return Bi().pass(n.length,async e=>{let r=t();for(let t=0;t<n.length;t+=64){let i=n.slice(t,t+64);(await e(i.map(e=>({path:e.file,text:e.text})))).forEach((e,t)=>r.add({facts:e,text:i[t].text}))}return r.finish()})}export{u as a,Bi as i,Fi as n,zi as r,Hi as t};
1
+ import{Et as e,Tt as t,gt as n}from"./chunk-src-CxTpK8wk.js";import{createRequire as r}from"node:module";import i from"node:path";import{availableParallelism as a}from"node:os";import{existsSync as o}from"node:fs";import{createHash as s,randomUUID as c}from"node:crypto";import{mkdir as ee,readFile as l,rename as te,writeFile as ne}from"node:fs/promises";import{Worker as re}from"node:worker_threads";const ie=/* @__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 u(e){let t=e.lastIndexOf(`.`);return t<0?null:ie.get(e.slice(t+1))??null}function ae(e,t){return i.join(e,t.slice(0,2),`${t}.json`)}function oe(e){return{async read(t){try{return JSON.parse(await l(ae(e,t),`utf8`))}catch{return null}},async write(t,n){let r=ae(e,t);try{await ee(i.dirname(r),{recursive:!0});let e=`${r}.${process.pid}.${c()}.tmp`;await ne(e,JSON.stringify(n)),await te(e,r)}catch{return}}}}const se={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`}},ce=`web-tree-sitter.wasm`;function le(e){let t=Object.fromEntries(Object.entries(se).map(([t,{file:n}])=>[t,i.join(e,i.basename(n))]));return{runtimeFile:i.join(e,ce),grammarFiles:t}}function ue(){let e=i.join(import.meta.dirname,`grammars`);if(o(i.join(e,ce)))return le(e);let t=r(import.meta.url),n=Object.fromEntries(Object.entries(se).map(([e,{package:n,file:r}])=>[e,t.resolve(`${n}/${r}`)]));return{runtimeFile:t.resolve(`web-tree-sitter/web-tree-sitter.wasm`),grammarFiles:n}}const de=/* @__PURE__ */ new Set([`string`,`string_literal`,`interpreted_string_literal`,`raw_string_literal`]),fe=/* @__PURE__ */ new Set([`array`,`array_literal`,`list`,`collection_literal`,`element_value_array_initializer`,`array_initializer`]),pe=[`"""`,`'''`,`"`,`'`,"`"],me=/* @__PURE__ */ new Set([`identifier`,`property_identifier`,`field_identifier`,`shorthand_property_identifier`]),he={attribute:`attribute`,selector_expression:`field`,member_access_expression:`name`,field_expression:`field`,member_expression:`property`},d=e=>({from:e.startIndex,to:e.endIndex}),f=(e,t)=>e.children.filter(e=>e.type===t),p=(e,t)=>e.children.find(e=>e.type===t)??null,m=(e,t)=>e.childForFieldName(t),h=e=>e?.text??null,g=e=>e.type.includes(`comment`),_=(e,t)=>t!==null&&e.type===t.type&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex;function v(e){return e.type===`generic_type`||e.type===`generic_name`?e.firstNamedChild?.text??e.text:e.text}function y(e){if(e===null||!de.has(e.type))return null;let t=e.text;for(let e of pe)if(t.length>=e.length*2&&t.startsWith(e)&&t.endsWith(e))return t.slice(e.length,-e.length);return null}function ge(e){return fe.has(e.type)?e.namedChildren.flatMap(e=>y(e)??[]):null}function _e(e){let t=he[e.type];return t===void 0?null:m(e,t)?.text??null}function b(e,t){return{text:e.text,value:y(e),values:ge(e),identifier:me.has(e.type)?e.text:null,reference:_e(e),constructs:t(e),span:d(e)}}function x(e,t,n){return{...b(e,n),name:t,at:e.startIndex}}function S(e,t,n,r){let i=y(e);return{key:i??e.text,quoted:i!==null,at:e.startIndex,object:n.startIndex,value:b(t,r)}}function C(e,t,n,r){return{receiver:t.text,name:n?.text??null,key:y(r),keyAt:y(r)===null?null:r?.startIndex??null,at:e.startIndex,span:d(e)}}function w(e){return e.sort((e,t)=>e.at-t.at)}function ve(e,t){return{name:m(e,`name`)?.text??e.text.replace(/^@/,``),at:e.startIndex,arguments:t(e)}}const ye=/* @__PURE__ */ new WeakMap,be=/* @__PURE__ */ new WeakMap;function xe(e){let t=ye.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);ye.set(e,t)}return t}function T(e){return xe(e.tree).get(e.id)??null}function Se(e,t){let n=be.get(e);n===void 0&&(n=/* @__PURE__ */ new Map,be.set(e,n));let r=n.get(t);return r===void 0&&(r=/* @__PURE__ */ new Map,n.set(t,r)),r}function Ce(e,t){let n=Se(e.tree,t),r=xe(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 E(e,t){let n=Ce(e,t);return n===null?null:m(n,`name`)?.text??null}function D(e,t){return Ce(e,t)!==null}const we=/* @__PURE__ */ new Set([`method_declaration`,`local_function_statement`,`constructor_declaration`]),Te=/* @__PURE__ */ new Set([`member_access_expression`,`element_access_expression`]),Ee=/* @__PURE__ */ new Set([`object_creation_expression`,`implicit_object_creation_expression`]),De={class_declaration:`class`,record_declaration:`record`,struct_declaration:`struct`,enum_declaration:`enum`};function O(e){let t=e.type===`object_creation_expression`?m(e,`type`):null;return t===null?null:v(t)}const Oe=e=>e===null?null:b(e,O);function ke(e){return(p(e,`attribute_argument_list`)?.namedChildren??[]).map(e=>{let t=p(e,`name_equals`);return{...b(e.namedChildren.find(e=>e.type!==`name_equals`)??e,O),name:t?.namedChildren[0]?.text??null,at:e.startIndex}})}function k(e){return f(e,`attribute_list`).flatMap(e=>f(e,`attribute`).map(e=>({name:m(e,`name`)?.text??e.text,at:e.startIndex,arguments:ke(e)})))}function A(e){return f(e,`modifier`).map(e=>e.text)}function Ae(e){let t=m(e,`name`);return t===null?[]:[{kind:`field`,name:t.text,type:m(e,`type`)?.text??null,at:t.startIndex,modifiers:A(e),annotations:k(e),arity:0,tag:null}]}function je(e){let t=p(e,`variable_declaration`);if(t===null)return[];let n=m(t,`type`)?.text??null;return f(t,`variable_declarator`).flatMap(t=>{let r=m(t,`name`);return r===null?[]:[{kind:`field`,name:r.text,type:n,at:r.startIndex,modifiers:A(e),annotations:k(e),arity:0,tag:null}]})}function Me(e){return e.namedChildren.filter(e=>e.type===`parameter`).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[{kind:`parameter`,name:t.text,type:m(e,`type`)?.text??null,at:t.startIndex,modifiers:[],annotations:k(e),arity:0,tag:null}]})}function Ne(e){return e.namedChildren.flatMap(e=>e.type===`property_declaration`?Ae(e):e.type===`field_declaration`?je(e):[])}function Pe(e){return(p(e,`base_list`)?.namedChildren??[]).map(e=>({name:v(e),relation:`extends`}))}function Fe(e,t){let n=m(e,`name`);if(n===null)return null;let r=m(e,`body`),i=p(e,`parameter_list`),a=[...i===null?[]:Me(i),...r===null||t===`enum`?[]:Ne(r)];return{kind:t,name:n.text,at:n.startIndex,span:d(e),modifiers:A(e),annotations:k(e),supertypes:Pe(e),generic:p(e,`type_parameter_list`)!==null,members:a,constants:t===`enum`&&r!==null?f(r,`enum_member_declaration`).map(e=>m(e,`name`)?.text??``).filter(e=>e!==``):[]}}function Ie(e){return e.descendantsOfType(Object.keys(De)).flatMap(e=>Fe(e,De[e.type])??[])}const Le=/* @__PURE__ */ new Set([`class_declaration`,`record_declaration`,`struct_declaration`]),Re={method_declaration:`method`,constructor_declaration:`constructor`};function ze(e){return(e?.namedChildren??[]).filter(e=>e.type===`parameter`).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[{name:t.text,type:h(m(e,`type`)),at:t.startIndex,annotations:k(e)}]})}function Be(e){return e.descendantsOfType(Object.keys(Re)).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[{kind:Re[e.type],name:t.text,at:t.startIndex,span:d(e),owner:E(e,Le),annotations:k(e),parameters:ze(m(e,`parameters`)),returnType:h(m(e,`returns`))}]})}function Ve(){return null}function He(e){return e.descendantsOfType(`variable_declaration`).filter(e=>T(e)?.type===`local_declaration_statement`&&D(e,we)).flatMap(e=>{let t=m(e,`type`);return f(e,`variable_declarator`).flatMap(e=>{let n=m(e,`name`);if(n===null)return[];let r=e.namedChildren.find(e=>!_(e,n))??null;return[{name:n.text,key:null,type:t===null||t.type===`implicit_type`?null:t.text,at:n.startIndex,initializer:Oe(r)}]})})}function Ue(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:d(e),expression:Oe(e.namedChildren.find(e=>!g(e))??null)}))}function We(e){let t=T(e);return t!==null&&Te.has(t.type)&&_(e,m(t,`expression`))}function Ge(e){let t=T(e);return t===null?!1:We(e)||t.type===`invocation_expression`&&_(e,m(t,`function`))}function Ke(e){let t=m(e,`expression`);if(t===null)return[];if(e.type===`element_access_expression`)return[C(e,t,null,m(e,`subscript`)?.namedChildren[0]?.namedChildren[0]??null)];let n=m(e,`name`);return n===null?[]:[C(e,t,n,null)]}function qe(e){return w(e.descendantsOfType([...Te]).filter(e=>!Ge(e)).flatMap(Ke))}function Je(e){return w(e.descendantsOfType([...Te]).filter(We).flatMap(Ke))}function Ye(e){let t=T(e);return t!==null&&Ee.has(t.type)?t:e}function Xe(e){let t=T(e);if(t===null||t.type!==`initializer_expression`)return[];if(e.type===`initializer_expression`&&e.namedChildren.length===2){let[n,r]=e.namedChildren;return[S(n,r,Ye(t),O)]}let n=m(e,`left`),r=m(e,`right`);return e.type===`assignment_expression`&&n?.type===`identifier`&&r!==null?[S(n,r,Ye(t),O)]:[]}function Ze(e){return w(e.descendantsOfType([`initializer_expression`,`assignment_expression`]).flatMap(Xe))}function Qe(e){return(e?.namedChildren??[]).filter(e=>e.type===`argument`).map(e=>{let t=p(e,`name_colon`);return x(e.namedChildren.find(e=>e.type!==`name_colon`)??e,t?.namedChildren[0]?.text??null,O)})}function $e(e){let t=m(e,`function`);if(t===null)return null;let n=t.type===`member_access_expression`,r=n?m(t,`name`):t,i=r?.type===`generic_name`?r.firstNamedChild:r;return i==null||i.type!==`identifier`?null:{receiver:n?h(m(t,`expression`)):null,name:i.text,arguments:Qe(m(e,`arguments`)),at:i.startIndex,span:d(e),within:E(e,we)}}function et(e){return e.descendantsOfType(`invocation_expression`).flatMap(e=>$e(e)??[])}function tt(e){return e.descendantsOfType(`object_creation_expression`).flatMap(e=>{let t=m(e,`type`);return t===null?[]:[{type:v(t),arguments:Qe(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,we)}]})}function nt(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 rt(e){return e.descendantsOfType(`field_declaration`).flatMap(e=>{if(!A(e).includes(`const`))return[];let t=E(e,Le),n=p(e,`variable_declaration`);return n===null?[]:f(n,`variable_declarator`).flatMap(e=>{let n=m(e,`name`),r=y(e.namedChildren.at(-1)??null);return n===null||r===null?[]:[{name:n.text,value:r,owner:t,at:n.startIndex}]})})}const it=/* @__PURE__ */ new Set([`function_declaration`,`method_declaration`,`func_literal`]),at=/* @__PURE__ */ new Set([`selector_expression`,`index_expression`]);function ot(e){let t=e.type===`unary_expression`?e.namedChildren[0]??null:e;return t?.type===`composite_literal`?h(m(t,`type`)):null}const j=e=>e===null?null:b(e,ot);function st(e){return e===null?null:e.text.slice(1,-1)}function ct(e){return e.namedChildren.filter(e=>e.type===`field_declaration`).flatMap(e=>{let t=m(e,`type`),n=st(m(e,`tag`)),r=f(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 lt(e){let t=m(e,`name`),n=m(e,`type`);if(t===null||n===null||n.type!==`struct_type`)return null;let r=p(n,`field_declaration_list`);return{kind:`struct`,name:t.text,at:t.startIndex,span:d(e),modifiers:[],annotations:[],supertypes:[],generic:m(e,`type_parameters`)!==null,members:r===null?[]:ct(r),constants:[]}}function ut(e){return e.descendantsOfType(`type_spec`).flatMap(e=>lt(e)??[])}function dt(e){let t=m(e,`receiver`)?.namedChildren[0]??null,n=t===null?null:m(t,`type`);return n===null?null:n.text.replace(/^\*/,``)}function ft(e){return(e?.namedChildren??[]).flatMap(e=>{if(e.type!==`parameter_declaration`&&e.type!==`variadic_parameter_declaration`)return[];let t=h(m(e,`type`));return f(e,`identifier`).map(e=>({name:e.text,type:t,at:e.startIndex,annotations:[]}))})}function pt(e){return e.descendantsOfType([`function_declaration`,`method_declaration`]).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=e.type===`method_declaration`;return[{kind:n?`method`:`function`,name:t.text,at:t.startIndex,span:d(e),owner:n?dt(e):null,annotations:[],parameters:ft(m(e,`parameters`)),returnType:h(m(e,`result`))}]})}function mt(e){return p(e.namedChildren.find(e=>e.type===`package_clause`)??e,`package_identifier`)?.text??null}function ht(e){let t=[];for(let n of e.descendantsOfType(`short_var_declaration`).filter(e=>D(e,it))){let e=m(n,`right`)?.namedChildren??[];m(n,`left`)?.namedChildren.forEach((n,r)=>{n.type===`identifier`&&t.push({name:n.text,key:null,type:null,at:n.startIndex,initializer:j(e[r]??null)})})}for(let n of e.descendantsOfType(`var_spec`).filter(e=>D(e,it))){let e=m(n,`value`)?.namedChildren??[],r=h(m(n,`type`));f(n,`identifier`).forEach((n,i)=>t.push({name:n.text,key:null,type:r,at:n.startIndex,initializer:j(e[i]??null)}))}return t.sort((e,t)=>e.at-t.at)}function gt(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:d(e),expression:j(n)}})}function _t(e){let t=T(e);return t!==null&&at.has(t.type)&&_(e,m(t,`operand`))}function vt(e){let t=T(e);return t===null?!1:_t(e)||t.type===`call_expression`&&_(e,m(t,`function`))}function yt(e){let t=m(e,`operand`);if(t===null)return[];if(e.type===`index_expression`)return[C(e,t,null,m(e,`index`))];let n=m(e,`field`);return n===null?[]:[C(e,t,n,null)]}function bt(e){return w(e.descendantsOfType([...at]).filter(e=>!vt(e)).flatMap(yt))}function xt(e){return w(e.descendantsOfType([...at]).filter(_t).flatMap(yt))}function St(e){let t=T(e)??e,n=T(t);return n?.type===`composite_literal`?n:t}function Ct(e){return e.descendantsOfType(`keyed_element`).flatMap(e=>{let t=m(e,`key`)?.namedChildren[0]??null,n=m(e,`value`)?.namedChildren[0]??null;return t===null||n===null?[]:[S(t,n,St(e),ot)]})}function wt(e){return(e?.namedChildren??[]).filter(e=>!g(e)).map(e=>x(e,null,ot))}function Tt(e){let t=m(e,`function`);if(t===null)return null;let n=t.type===`selector_expression`,r=n?m(t,`field`):t;return r===null||r.type!==`identifier`&&r.type!==`field_identifier`?null:{receiver:n?h(m(t,`operand`)):null,name:r.text,arguments:wt(m(e,`arguments`)),at:r.startIndex,span:d(e),within:E(e,it)}}function Et(e){return e.descendantsOfType(`call_expression`).flatMap(e=>Tt(e)??[])}function Dt(e){return e.descendantsOfType(`import_spec`).flatMap(e=>{let t=m(e,`path`),n=y(t);return t===null||n===null?[]:[{name:n,at:t.startIndex}]})}function Ot(e){return e.descendantsOfType(`const_spec`).flatMap(e=>{let t=m(e,`name`),n=y(m(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`},At=/* @__PURE__ */ new Set([`annotation`,`marker_annotation`]);function M(e){let t=e.type===`object_creation_expression`?m(e,`type`):null;return t===null?null:v(t)}const jt=e=>e===null?null:b(e,M);function Mt(e){let t=p(e,`annotation_argument_list`);return t===null?[]:t.namedChildren.map(e=>{if(e.type!==`element_value_pair`)return x(e,null,M);let t=m(e,`value`),n=h(m(e,`key`));return t===null?x(e,n,M):{...b(t,M),name:n,at:t.startIndex}})}function N(e){return e===null?[]:e.namedChildren.filter(e=>At.has(e.type)).map(e=>ve(e,Mt))}function P(e){return e===null?[]:e.children.filter(e=>!e.isNamed).map(e=>e.type)}function Nt(e){let t=m(e,`superclass`)?.namedChildren[0],n=[...f(e,`super_interfaces`).flatMap(e=>Pt(e,`implements`)),...f(e,`extends_interfaces`).flatMap(e=>Pt(e,`extends`))];return[...t?[{name:v(t),relation:`extends`}]:[],...n]}function Pt(e,t){return(p(e,`type_list`)?.namedChildren??[]).map(e=>({name:v(e),relation:t}))}function Ft(e){let t=h(m(e,`name`));return t===null?null:{kind:`parameter`,name:t,type:h(m(e,`type`)),at:m(e,`name`)?.startIndex??e.startIndex,modifiers:P(p(e,`modifiers`)),annotations:N(p(e,`modifiers`)),arity:0,tag:null}}function It(e){let t=[];for(let n of e.namedChildren)if(n.type===`field_declaration`){let e=p(n,`modifiers`),r=h(m(n,`type`));for(let i of f(n,`variable_declarator`)){let n=m(i,`name`);n!==null&&t.push({kind:`field`,name:n.text,type:r,at:n.startIndex,modifiers:P(e),annotations:N(e),arity:0,tag:null})}}else if(n.type===`method_declaration`){let e=m(n,`name`);if(e===null)continue;let r=p(n,`modifiers`),i=m(n,`parameters`);t.push({kind:`method`,name:e.text,type:h(m(n,`type`)),at:e.startIndex,modifiers:P(r),annotations:N(r),arity:i?.namedChildren.filter(e=>e.type===`formal_parameter`||e.type===`spread_parameter`).length??0,tag:null})}return t}function Lt(e,t){let n=m(e,`name`),r=p(e,`modifiers`),i=m(e,`body`),a=t===`record`?m(e,`parameters`):null,o=[];a!==null&&o.push(...a.namedChildren.filter(e=>e.type===`formal_parameter`).flatMap(e=>Ft(e)??[])),i!==null&&o.push(...It(i));let s=i?.type===`enum_body`?i.namedChildren.filter(e=>e.type===`enum_constant`).map(e=>m(e,`name`)?.text??``):[],c=i?.type===`enum_body`?p(i,`enum_body_declarations`):null;return c!==null&&o.push(...It(c)),{kind:t,name:n?.text??``,at:n?.startIndex??e.startIndex,span:d(e),modifiers:P(r),annotations:N(r),supertypes:Nt(e),generic:m(e,`type_parameters`)!==null,members:o,constants:s.filter(e=>e!==``)}}function Rt(e){return e.descendantsOfType(Object.keys(kt)).map(e=>Lt(e,kt[e.type]))}const F=/* @__PURE__ */ new Set([`method_declaration`,`constructor_declaration`]),zt={method_declaration:`method`,constructor_declaration:`constructor`},Bt=/* @__PURE__ */ new Set([`class_declaration`,`record_declaration`,`enum_declaration`,`interface_declaration`]);function Vt(e){return(e?.namedChildren??[]).filter(e=>e.type===`formal_parameter`||e.type===`spread_parameter`).flatMap(e=>{let t=m(e,`name`)??p(e,`identifier`);return t===null?[]:[{name:t.text,type:h(m(e,`type`)),at:t.startIndex,annotations:N(p(e,`modifiers`))}]})}function Ht(e){return e.descendantsOfType([...F]).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[{kind:zt[e.type],name:t.text,at:t.startIndex,span:d(e),owner:E(e,Bt),annotations:N(p(e,`modifiers`)),parameters:Vt(m(e,`parameters`)),returnType:h(m(e,`type`))}]})}function Ut(e){return e.namedChildren.find(e=>e.type===`package_declaration`)?.namedChildren.find(e=>e.type===`scoped_identifier`||e.type===`identifier`)?.text??null}function Wt(e){return e.descendantsOfType(`local_variable_declaration`).filter(e=>D(e,F)).flatMap(e=>{let t=h(m(e,`type`));return f(e,`variable_declarator`).flatMap(e=>{let n=m(e,`name`);return n===null?[]:[{name:n.text,key:null,type:t===`var`?null:t,at:n.startIndex,initializer:jt(m(e,`value`))}]})})}function Gt(e){return e.descendantsOfType(`return_statement`).map(e=>{let t=e.namedChildren.find(e=>!g(e))??null;return{at:e.startIndex,span:d(e),expression:jt(t)}})}function Kt(){return[]}function qt(){return[]}function Jt(){return[]}function Yt(e){return(e?.namedChildren??[]).filter(e=>!g(e)).map(e=>x(e,null,M))}function Xt(e,t){return{receiver:h(m(e,`object`)),name:t.text,arguments:Yt(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,F)}}function Zt(e){return e.descendantsOfType(`method_invocation`).flatMap(e=>{let t=m(e,`name`);return t===null?[]:[Xt(e,t)]})}function Qt(e){return e.descendantsOfType(`object_creation_expression`).flatMap(e=>{let t=m(e,`type`);return t===null?[]:[{type:v(t),arguments:Yt(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,F)}]})}function $t(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:p(e,`asterisk`)===null?t.text:`${t.text}.*`,at:t.startIndex}]})}function en(e){return e.descendantsOfType(`field_declaration`).flatMap(e=>{if(!P(p(e,`modifiers`)).includes(`final`))return[];let t=E(e,Bt);return f(e,`variable_declarator`).flatMap(e=>{let n=m(e,`name`),r=y(m(e,`value`));return n===null||r===null?[]:[{name:n.text,value:r,owner:t,at:n.startIndex}]})})}const tn=`annotation`,nn=/* @__PURE__ */ new Set([`val`,`var`]),rn=/* @__PURE__ */ new Set([`function_declaration`]),an=/* @__PURE__ */ new Set([`class_declaration`,`object_declaration`]),on=/* @__PURE__ */ new Set([`navigation_expression`,`index_expression`]);function I(e){let t=e.type===`call_expression`?e.firstNamedChild:null;return t?.type===`identifier`&&/^[A-Z]/.test(t.text)?t.text:null}const sn=e=>e===null?null:b(e,I);function cn(e){return e===null?[]:f(e,`value_argument`).map(e=>{let t=e.children.findIndex(e=>e.type===`=`);if(t>0)return x(e.children.slice(t+1).find(e=>e.isNamed)??e,e.children[t-1].text,I);let n=p(e,`value_argument_label`);return x(e.namedChildren.find(e=>e.type!==`value_argument_label`)??e,n?n.text.replace(/\s*=\s*$/,``):null,I)})}function ln(e){return cn(e.descendantsOfType(`value_arguments`)[0]??null)}function un(e){return e.descendantsOfType(`user_type`)[0]?.text??e.text.replace(/^@/,``)}function L(e){return e===null?[]:e.namedChildren.filter(e=>e.type===tn).map(e=>({name:un(e),at:e.startIndex,arguments:ln(e)}))}function R(e){return e===null?[]:e.namedChildren.filter(e=>e.type!==tn).map(e=>e.text)}function z(e){return h(p(e,`user_type`))}function dn(e){let t=p(e,`modifiers`),n=e.children.find(e=>nn.has(e.type)),r=p(e,`identifier`);return n===void 0||r===null?null:{kind:`parameter`,name:r.text,type:z(e),at:r.startIndex,modifiers:R(t),annotations:L(t),arity:0,tag:null}}function fn(e){let t=p(e,`variable_declaration`),n=t?p(t,`identifier`):null;if(t===null||n===null)return null;let r=p(e,`modifiers`);return{kind:`field`,name:n.text,type:z(t),at:n.startIndex,modifiers:R(r),annotations:L(r),arity:0,tag:null}}function pn(e){let t=m(e,`name`);if(t===null)return null;let n=p(e,`modifiers`),r=p(e,`function_value_parameters`);return{kind:`method`,name:t.text,type:z(e),at:t.startIndex,modifiers:R(n),annotations:L(n),arity:r?f(r,`parameter`).length:0,tag:null}}function mn(e){let t=p(e,`delegation_specifiers`);return t===null?[]:f(t,`delegation_specifier`).flatMap(e=>{let t=p(e,`constructor_invocation`),n=p(t||e,`user_type`);return n===null?[]:[{name:n.text,relation:t?`extends`:`implements`}]})}function hn(e){let t=p(e,`modifiers`);return f(t??e,`class_modifier`).some(e=>e.text===`enum`)?`enum`:e.children.some(e=>e.type===`interface`)?`interface`:`class`}function gn(e){let t=m(e,`name`),n=p(e,`modifiers`),r=hn(e),i=[],a=p(e,`primary_constructor`),o=a?p(a,`class_parameters`):null;for(let e of o?.namedChildren??[]){if(e.type!==`class_parameter`)continue;let t=dn(e);t&&i.push(t)}let s=p(e,`class_body`);for(let e of s?.namedChildren??[])if(e.type===`property_declaration`){let t=fn(e);t&&i.push(t)}else if(e.type===`function_declaration`){let t=pn(e);t&&i.push(t)}let c=p(e,`enum_class_body`)?.namedChildren.filter(e=>e.type===`enum_entry`).map(e=>p(e,`identifier`)?.text??``)??[];return{kind:r,name:t?.text??``,at:t?.startIndex??e.startIndex,span:d(e),modifiers:R(n),annotations:L(n),supertypes:mn(e),generic:p(e,`type_parameters`)!==null,members:i,constants:c.filter(e=>e!==``)}}function _n(e){return e.descendantsOfType([`class_declaration`,`object_declaration`]).map(gn)}function vn(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=p(e,`identifier`);return r===null?[]:[{name:r.text,type:z(e),at:r.startIndex,annotations:L(n)}]})}function yn(e){return e.descendantsOfType(`function_declaration`).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=E(e,an);return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:d(e),owner:n,annotations:L(p(e,`modifiers`)),parameters:vn(p(e,`function_value_parameters`)),returnType:z(e)}]})}function bn(e){let t=e.namedChildren.find(e=>e.type===`package_header`)??null;return t===null?null:h(p(t,`qualified_identifier`))}function xn(e){let t=e.children.findIndex(e=>e.type===`=`);return t<0?null:sn(e.children.slice(t+1).find(e=>e.isNamed)??null)}function Sn(e){return e.descendantsOfType(`property_declaration`).filter(e=>D(e,rn)).flatMap(e=>{let t=p(e,`variable_declaration`),n=t?p(t,`identifier`):null;return t===null||n===null?[]:[{name:n.text,key:null,type:z(t),at:n.startIndex,initializer:xn(e)}]})}function Cn(e){return e.descendantsOfType(`return_expression`).map(e=>({at:e.startIndex,span:d(e),expression:sn(e.namedChildren[0]??null)}))}function wn(e){let t=T(e);return t!==null&&on.has(t.type)&&_(e,t.firstNamedChild)}function Tn(e){let t=T(e);return t===null?!1:wn(e)||t.type===`call_expression`&&_(e,t.firstNamedChild)}function En(e){let t=e.firstNamedChild;if(t===null)return[];if(e.type===`index_expression`)return[C(e,t,null,e.namedChildren[1]??null)];let n=e.lastNamedChild;return n===null||n.type!==`identifier`?[]:[C(e,t,n,null)]}function Dn(e){return w(e.descendantsOfType([...on]).filter(e=>!Tn(e)).flatMap(En))}function On(e){return w(e.descendantsOfType([...on]).filter(wn).flatMap(En))}function kn(e){return e.descendantsOfType(`infix_expression`).flatMap(e=>{let[t,n,r]=e.namedChildren;return n?.text===`to`&&r!==void 0?[S(t,r,e,I)]:[]})}function An(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?h(t.firstNamedChild):null,name:r.text,arguments:cn(p(e,`value_arguments`)),at:r.startIndex,span:d(e),within:E(e,rn)}}function jn(e){return e.descendantsOfType(`call_expression`).flatMap(e=>An(e)??[])}function Mn(e){return e.descendantsOfType(`import`).flatMap(e=>{let t=p(e,`qualified_identifier`);return t===null?[]:[{name:/\*$/.test(e.text)?`${t.text}.*`:t.text,at:t.startIndex}]})}function Nn(e){return e.descendantsOfType(`property_declaration`).flatMap(e=>{if(!R(p(e,`modifiers`)).includes(`const`))return[];let t=p(p(e,`variable_declaration`)??e,`identifier`),n=y(e.lastNamedChild);return t===null||n===null?[]:[{name:t.text,value:n,owner:E(e,an),at:t.startIndex}]})}const B=/* @__PURE__ */ new Set([`function_definition`]),Pn=/* @__PURE__ */ new Set([`class_definition`,`object_definition`,`trait_definition`]),Fn=/* @__PURE__ */ new Set([`field_expression`]);function In(e){let t=e.charAt(0);return t!==t.toLowerCase()}function V(e){let t=e.type===`call_expression`?m(e,`function`):null;return t?.type===`identifier`&&In(t.text)?t.text:null}const Ln=e=>e===null?null:b(e,V);function Rn(e){return e===null?[]:e.namedChildren.map(e=>{if(e.type===`assignment_expression`){let t=m(e,`left`),n=m(e,`right`);if(t!==null&&n!==null)return x(n,t.text,V)}return x(e,null,V)})}function H(e){let t=p(e,`modifiers`);return[...f(e,`annotation`),...t===null?[]:f(t,`annotation`)].map(e=>ve(e,e=>Rn(m(e,`arguments`)))).sort((e,t)=>e.at-t.at)}function U(e){let t=p(e,`modifiers`);return t===null?[]:t.children.filter(e=>e.type!==`annotation`).map(e=>e.text)}function zn(e){return(e?.namedChildren??[]).flatMap(e=>{if(e.type!==`parameter`)return[];let t=m(e,`name`);return t===null?[]:[{name:t.text,type:h(m(e,`type`)),at:t.startIndex,annotations:H(e)}]})}function Bn(e){if(e.type===`function_definition`){let t=m(e,`name`);return t===null?null:{kind:`method`,name:t.text,type:h(m(e,`return_type`)),at:t.startIndex,modifiers:U(e),annotations:H(e),arity:zn(m(e,`parameters`)).length,tag:null}}if(e.type!==`val_definition`&&e.type!==`var_definition`)return null;let t=m(e,`pattern`);return t===null||t.type!==`identifier`?null:{kind:`field`,name:t.text,type:h(m(e,`type`)),at:t.startIndex,modifiers:U(e),annotations:H(e),arity:0,tag:null}}function Vn(e){let t=e.children.some(e=>e.type===`case`);return(m(e,`class_parameters`)?.namedChildren??[]).flatMap(e=>{let n=m(e,`name`),r=e.children.some(e=>e.type===`val`||e.type===`var`);return n===null||!r&&!t?[]:[{kind:`field`,name:n.text,type:h(m(e,`type`)),at:n.startIndex,modifiers:[],annotations:H(e),arity:0,tag:null}]})}function Hn(e){let t=p(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 Un(e){return e.type===`trait_definition`?`interface`:`class`}function Wn(e){let t=m(e,`name`),n=m(e,`body`),r=[...Vn(e),...(n?.namedChildren??[]).flatMap(e=>Bn(e)??[])];return{kind:Un(e),name:t?.text??``,at:t?.startIndex??e.startIndex,span:d(e),modifiers:U(e),annotations:H(e),supertypes:Hn(e),generic:p(e,`type_parameters`)!==null,members:r,constants:[]}}function Gn(e){let t=p(e,`package_clause`);return h(t===null?null:m(t,`name`))}function Kn(e){return e.descendantsOfType([...Pn]).map(Wn)}function qn(e){return e.descendantsOfType([...B]).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=E(e,Pn);return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:d(e),owner:n,annotations:H(e),parameters:zn(m(e,`parameters`)),returnType:h(m(e,`return_type`))}]})}function Jn(e){return e.descendantsOfType([`val_definition`,`var_definition`]).filter(e=>D(e,B)).flatMap(e=>{let t=m(e,`pattern`);return t===null||t.type!==`identifier`?[]:[{name:t.text,key:null,type:h(m(e,`type`)),at:t.startIndex,initializer:Ln(m(e,`value`))}]})}function Yn(e){return e.descendantsOfType(`return_expression`).map(e=>({at:e.startIndex,span:d(e),expression:Ln(e.namedChildren[0]??null)}))}function Xn(e){let t=T(e);return t!==null&&Fn.has(t.type)&&_(e,m(t,`value`))}function Zn(e){let t=T(e);return t===null?!1:Xn(e)||t.type===`call_expression`&&_(e,m(t,`function`))}function Qn(e){let t=m(e,`value`),n=m(e,`field`);return t===null||n===null?[]:[C(e,t,n,null)]}function $n(e){return w(e.descendantsOfType([...Fn]).filter(e=>!Zn(e)).flatMap(Qn))}function er(e){return w(e.descendantsOfType([...Fn]).filter(Xn).flatMap(Qn))}function tr(e){return e.descendantsOfType(`infix_expression`).flatMap(e=>{let t=m(e,`left`),n=m(e,`right`);return m(e,`operator`)?.text===`->`&&t!==null&&n!==null?[S(t,n,e,V)]:[]})}function nr(e){let t=m(e,`function`);if(t===null)return null;let n=t.type===`field_expression`,r=n?m(t,`field`):t;return r===null||r.type!==`identifier`?null:{receiver:n?h(m(t,`value`)):null,name:r.text,arguments:Rn(m(e,`arguments`)),at:r.startIndex,span:d(e),within:E(e,B)}}function rr(e){return e.descendantsOfType(`call_expression`).flatMap(e=>nr(e)??[])}function ir(e){return e.descendantsOfType(`instance_expression`).flatMap(e=>{let t=e.firstNamedChild;return t===null?[]:[{type:t.text,arguments:Rn(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,B)}]})}function ar(e){return e.descendantsOfType(`import_declaration`).flatMap(e=>{let t=e.childrenForFieldName(`path`).filter(e=>e.isNamed).map(e=>e.text).join(`.`),n=p(e,`namespace_selectors`);return n===null?p(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 or(e){return e.descendantsOfType(`val_definition`).flatMap(e=>{if(!U(e).includes(`final`))return[];let t=m(e,`pattern`),n=y(m(e,`value`));return t===null||t.type!==`identifier`||n===null?[]:[{name:t.text,value:n,owner:E(e,Pn),at:t.startIndex}]})}const sr=/* @__PURE__ */ new Set([`identifier`,`attribute`,`subscript`]),cr=/* @__PURE__ */ new Set([`function_definition`]),lr=/* @__PURE__ */ new Set([`class_definition`]),ur={attribute:`object`,subscript:`value`};function W(e){let t=e.type===`call`?m(e,`function`):null;return t?.type===`identifier`&&/^[A-Z]/.test(t.text)?t.text:null}const dr=e=>e===null?null:b(e,W);function fr(e){return(e?.namedChildren??[]).filter(e=>!g(e)).map(e=>e.type===`keyword_argument`?{...b(m(e,`value`)??e,W),name:m(e,`name`)?.text??null,at:e.startIndex}:x(e,null,W))}function pr(e){return e.type===`call`?{name:m(e,`function`)?.text??e.text,at:e.startIndex,arguments:fr(m(e,`arguments`))}:{name:e.text,at:e.startIndex,arguments:[]}}function G(e){return f(e,`decorator`).flatMap(e=>{let t=e.namedChildren[0];return t===void 0?[]:[pr(t)]})}function mr(e){return(m(e,`superclasses`)?.namedChildren??[]).flatMap(e=>{if(!sr.has(e.type)&&e.type!==`subscript`)return[];let t=e.type===`subscript`?m(e,`value`):e;return t===null?[]:[{name:t.text,relation:`extends`}]})}function K(e){return e.type===`expression_statement`?p(e,`assignment`):null}function hr(e){let t=m(e,`left`);if(t===null||t.type!==`identifier`)return[];let n=m(e,`right`),r=m(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`?[pr(n)]:[];return[{kind:`field`,name:t.text,type:r.text,at:t.startIndex,modifiers:[],annotations:i,arity:0,tag:null}]}function gr(e,t){let n=m(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:m(e,`return_type`)?.text??null,at:n.startIndex,modifiers:[],annotations:t,arity:m(e,`parameters`)?.namedChildren.length??0,tag:null}]:[]}function _r(e){return e.namedChildren.flatMap(e=>{if(e.type===`decorated_definition`){let t=m(e,`definition`);return t===null?[]:gr(t,G(e))}let t=K(e);return t===null?gr(e,[]):hr(t)})}function vr(e){return e.namedChildren.flatMap(e=>{let t=K(e);if(t===null||m(t,`type`)!==null)return[];let n=m(t,`left`);return n?.type===`identifier`?[n.text]:[]})}function yr(e){let t=m(e,`name`);if(t===null)return null;let n=m(e,`body`),r=T(e)?.type===`decorated_definition`?T(e):null;return{kind:`class`,name:t.text,at:t.startIndex,span:d(e),modifiers:[],annotations:r===null?[]:G(r),supertypes:mr(e),generic:m(e,`type_parameters`)!==null,members:n===null?[]:_r(n),constants:n===null?[]:vr(n)}}function br(e){return e.descendantsOfType(`class_definition`).flatMap(e=>yr(e)??[])}function xr(e){if(e.type===`identifier`)return{name:e.text,type:null,at:e.startIndex,annotations:[]};let t=e.type===`typed_parameter`?p(e,`identifier`):m(e,`name`);return t===null?null:{name:t.text,type:h(m(e,`type`)),at:t.startIndex,annotations:[]}}function Sr(e){return e.descendantsOfType(`function_definition`).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=E(e,lr),r=T(e)?.type===`decorated_definition`?T(e):null;return[{kind:n===null?`function`:`method`,name:t.text,at:t.startIndex,span:d(e),owner:n,annotations:r===null?[]:G(r),parameters:(m(e,`parameters`)?.namedChildren??[]).flatMap(e=>xr(e)??[]),returnType:h(m(e,`return_type`))}]})}function Cr(){return null}function wr(e){return e.descendantsOfType(`assignment`).filter(e=>T(e)?.type===`expression_statement`&&D(e,cr)).flatMap(e=>{let t=m(e,`left`);return t===null||t.type!==`identifier`?[]:[{name:t.text,key:null,type:h(m(e,`type`)),at:t.startIndex,initializer:dr(m(e,`right`))}]})}function Tr(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:d(e),expression:dr(e.namedChildren.find(e=>!g(e))??null)}))}function Er(e){let t=T(e),n=t===null?void 0:ur[t.type];return t!==null&&n!==void 0&&_(e,m(t,n))}function Dr(e){let t=T(e);return t===null?!1:Er(e)||t.type===`call`&&_(e,m(t,`function`))}function Or(e){let t=m(e,ur[e.type]);if(t===null)return[];if(e.type===`subscript`)return[C(e,t,null,m(e,`subscript`))];let n=m(e,`attribute`);return n===null?[]:[C(e,t,n,null)]}function kr(e){return w(e.descendantsOfType([`attribute`,`subscript`]).filter(e=>!Dr(e)).flatMap(Or))}function Ar(e){return w(e.descendantsOfType([`attribute`,`subscript`]).filter(Er).flatMap(Or))}function jr(e){return e.descendantsOfType(`pair`).flatMap(e=>{let t=T(e),n=m(e,`key`),r=m(e,`value`);return t===null||t.type!==`dictionary`||n===null||r===null?[]:[S(n,r,t,W)]})}function Mr(e){let t=m(e,`function`);for(;t!==null&&t.type===`call`;)t=m(t,`function`);return t}function Nr(e){let t=Mr(e);if(t===null)return null;let n=t.type===`attribute`,r=n?m(t,`attribute`):t;return r===null||r.type!==`identifier`?null:{receiver:n?h(m(t,`object`)):null,name:r.text,arguments:fr(m(e,`arguments`)),at:r.startIndex,span:d(e),within:E(e,cr)}}function Pr(e){return e.descendantsOfType(`call`).flatMap(e=>Nr(e)??[])}function Fr(e){return e.descendantsOfType([`import_statement`,`import_from_statement`]).flatMap(e=>{if(e.type===`import_from_statement`){let t=m(e,`module_name`);return t===null?[]:[{name:t.text,at:t.startIndex}]}return e.namedChildren.flatMap(e=>{let t=e.type===`aliased_import`?m(e,`name`):e;return t!==null&&(t.type===`dotted_name`||t.type===`identifier`)?[{name:t.text,at:t.startIndex}]:[]})})}function Ir(e){return e.namedChildren.flatMap(e=>{let t=K(e);if(t===null||m(t,`type`)!==null)return[];let n=m(t,`left`),r=y(m(t,`right`));return n?.type===`identifier`&&r!==null?[{name:n.text,value:r,owner:null,at:n.startIndex}]:[]})}const Lr={class_declaration:`class`,abstract_class_declaration:`class`,interface_declaration:`interface`,enum_declaration:`enum`,type_alias_declaration:`alias`},Rr=/* @__PURE__ */ new Set([`abstract`,`declare`,`get`,`override`,`private`,`protected`,`public`,`readonly`,`set`,`static`]),zr=/* @__PURE__ */ new Set([`required_parameter`,`optional_parameter`]),Br=/* @__PURE__ */ new Set([`required_parameter`,`optional_parameter`,`rest_pattern`]),Vr=/* @__PURE__ */ new Set([`public_field_definition`,`field_definition`,`property_signature`]),Hr=/* @__PURE__ */ new Set([`method_signature`,`method_definition`]),q=/* @__PURE__ */ new Set([`function_declaration`,`generator_function_declaration`,`method_definition`]),Ur=/* @__PURE__ */ new Set([...q,`arrow_function`,`function_expression`,`function`]),Wr=/* @__PURE__ */ new Set([`class_declaration`,`abstract_class_declaration`]),Gr=/* @__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`?h(m(e,`constructor`)):null}const Kr=e=>e===null?null:b(e,Y);function X(e){return e.children.filter(e=>Rr.has(e.type)||e.type===`accessibility_modifier`).map(e=>e.text)}function qr(e){return(m(e,`type`)??m(e,`return_type`))?.namedChildren[0]?.text??null}function Z(e,t,n,r=0){return{kind:e,name:J(n),type:qr(t),at:n.startIndex,modifiers:X(t),annotations:[],arity:r,tag:null}}function Jr(e){return m(e,`parameters`)?.namedChildren.filter(e=>Br.has(e.type)).length??0}function Yr(e){return(m(e,`parameters`)?.namedChildren??[]).flatMap(e=>{let t=m(e,`pattern`);return!zr.has(e.type)||t===null||X(e).length===0?[]:[Z(`parameter`,e,t)]})}function Xr(e){return e.namedChildren.flatMap(e=>{if(Vr.has(e.type)){let t=m(e,`name`)??m(e,`property`);return t===null?[]:[Z(`field`,e,t)]}if(e.type===`index_signature`){let t=m(e,`name`);return t===null?[]:[Z(`index`,e,t)]}if(Hr.has(e.type)){let t=m(e,`name`);if(t===null)return[];let n=X(e);return n.includes(`get`)||n.includes(`set`)?[Z(`accessor`,e,t)]:t.text===`constructor`?Yr(e):[Z(`method`,e,t,Jr(e))]}return[]})}function Zr(e){let t=p(e,`extends_clause`),n=t?m(t,`value`):e.namedChildren.find(e=>e.type===`identifier`||e.type===`member_expression`)??null;return n===null?[]:[{name:v(n),relation:`extends`}]}function Qr(e){let t=f(e,`extends_type_clause`).flatMap(e=>e.namedChildren.map(e=>({name:v(e),relation:`extends`}))),n=p(e,`class_heritage`);if(n===null)return t;let r=(p(n,`implements_clause`)?.namedChildren??[]).map(e=>({name:v(e),relation:`implements`}));return[...Zr(n),...r]}function $r(e){return e.namedChildren.flatMap(e=>{if(e.type===`enum_assignment`){let t=m(e,`name`);return t===null?[]:[J(t)]}return e.type===`property_identifier`||e.type===`string`?[J(e)]:[]})}function ei(e,t){let n=m(e,`name`);if(n===null)return null;let r=t===`alias`?m(e,`value`):m(e,`body`);return t===`alias`&&r?.type!==`object_type`?null:{kind:t,name:n.text,at:n.startIndex,span:d(e),modifiers:X(e),annotations:[],supertypes:Qr(e),generic:m(e,`type_parameters`)!==null,members:r===null||t===`enum`?[]:Xr(r),constants:t===`enum`&&r!==null?$r(r):[]}}function ti(e){return e.descendantsOfType(Object.keys(Lr)).flatMap(e=>ei(e,Lr[e.type])??[])}function ni(e){return(e?.namedChildren??[]).filter(e=>!g(e)).map(e=>x(e,null,Y))}function ri(e){return f(e,`decorator`).flatMap(e=>{let t=e.namedChildren[0];return t===void 0?[]:t.type===`call_expression`?[{name:h(m(t,`function`))??t.text,at:t.startIndex,arguments:ni(m(t,`arguments`))}]:[{name:t.text,at:t.startIndex,arguments:[]}]})}function ii(e){return(e?.namedChildren??[]).filter(e=>zr.has(e.type)).flatMap(e=>{let t=m(e,`pattern`);return t===null||t.type!==`identifier`?[]:[{name:t.text,type:h(m(e,`type`)?.namedChildren[0]??null),at:t.startIndex,annotations:[]}]})}function ai(e){return e.descendantsOfType([...q]).flatMap(e=>{let t=m(e,`name`);if(t===null)return[];let n=E(e,Wr),r=e.type===`method_definition`;return[{kind:t.text===`constructor`?`constructor`:r?`method`:`function`,name:t.text,at:t.startIndex,span:d(e),owner:r?n:null,annotations:ri(e),parameters:ii(m(e,`parameters`)),returnType:h(m(e,`return_type`)?.namedChildren[0]??null)}]})}function oi(){return null}function si(e){return h(m(e,`type`)?.namedChildren[0]??null)}function ci(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=m(e,`left`);return t?.type===`shorthand_property_identifier_pattern`?[n(t.text,t)]:[]}if(e.type!==`pair_pattern`)return[];let t=m(e,`key`),r=m(e,`value`),i=r?.type===`assignment_pattern`?m(r,`left`):r;return t!==null&&i?.type===`identifier`?[n(J(t),i)]:[]})}function li(e){return e.descendantsOfType(`variable_declarator`).filter(e=>D(e,Ur)).flatMap(e=>{let t=m(e,`name`),n=Kr(m(e,`value`));return t===null?[]:t.type===`object_pattern`?ci(t,n):t.type===`identifier`?[{name:t.text,key:null,type:si(e),at:t.startIndex,initializer:n}]:[]})}function ui(e){return e.descendantsOfType(`return_statement`).map(e=>({at:e.startIndex,span:d(e),expression:Kr(e.namedChildren.find(e=>!g(e))??null)}))}function di(e){let t=T(e);return t!==null&&Gr.has(t.type)&&_(e,m(t,`object`))}function fi(e){let t=T(e);return t===null?!1:di(e)||t.type===`call_expression`&&_(e,m(t,`function`))}function pi(e){let t=m(e,`object`);if(t===null)return[];if(e.type!==`member_expression`)return[C(e,t,null,m(e,`index`))];let n=m(e,`property`);return n===null?[]:[C(e,t,n,null)]}function mi(e){return w(e.descendantsOfType([...Gr]).filter(e=>!fi(e)).flatMap(pi))}function hi(e){return w(e.descendantsOfType([...Gr]).filter(di).flatMap(pi))}function gi(e){return w(e.descendantsOfType([`pair`,`shorthand_property_identifier`]).flatMap(e=>{let t=T(e);if(t===null||t.type!==`object`)return[];if(e.type===`shorthand_property_identifier`)return[S(e,e,t,Y)];let n=m(e,`key`),r=m(e,`value`);return n===null||r===null?[]:[S(n,r,t,Y)]}))}function _i(e){let t=m(e,`function`);if(t===null)return null;let n=t.type===`member_expression`,r=n?m(t,`property`):t;return r===null||r.type!==`identifier`&&r.type!==`property_identifier`?null:{receiver:n?h(m(t,`object`)):null,name:r.text,arguments:ni(m(e,`arguments`)),at:r.startIndex,span:d(e),within:E(e,q)}}function vi(e){return e.descendantsOfType(`call_expression`).flatMap(e=>_i(e)??[])}const yi=e=>{let t=T(e);return t?.type===`program`||t?.type===`export_statement`&&T(t)?.type===`program`};function bi(e){return e.descendantsOfType(`new_expression`).flatMap(e=>{let t=m(e,`constructor`);return t===null?[]:[{type:t.text,arguments:ni(m(e,`arguments`)),at:t.startIndex,span:d(e),within:E(e,q)}]})}function xi(e){return e.descendantsOfType(`import_statement`).flatMap(e=>{let t=m(e,`source`),n=y(t);return t===null||n===null?[]:[{name:n,at:t.startIndex}]})}function Si(e){return e.descendantsOfType(`lexical_declaration`).flatMap(e=>p(e,`const`)===null||!yi(e)?[]:f(e,`variable_declarator`).flatMap(e=>{let t=m(e,`name`),n=y(m(e,`value`));return t===null||n===null?[]:[{name:t.text,value:n,owner:null,at:t.startIndex}]}))}const Q=()=>[],Ci={packageOf:Ut,declarations:Rt,callables:Ht,locals:Wt,returns:Gt,accesses:Kt,innerAccesses:qt,pairs:Jt,calls:Zt,constructions:Qt,imports:$t,constants:en},wi={packageOf:oi,declarations:ti,callables:ai,locals:li,returns:ui,accesses:mi,innerAccesses:hi,pairs:gi,calls:vi,constructions:bi,imports:xi,constants:Si},Ti={java:Ci,kotlin:{packageOf:bn,declarations:_n,callables:yn,locals:Sn,returns:Cn,accesses:Dn,innerAccesses:On,pairs:kn,calls:jn,constructions:Q,imports:Mn,constants:Nn},typescript:wi,javascript:wi,python:{packageOf:Cr,declarations:br,callables:Sr,locals:wr,returns:Tr,accesses:kr,innerAccesses:Ar,pairs:jr,calls:Pr,constructions:Q,imports:Fr,constants:Ir},go:{packageOf:mt,declarations:ut,callables:pt,locals:ht,returns:gt,accesses:bt,innerAccesses:xt,pairs:Ct,calls:Et,constructions:Q,imports:Dt,constants:Ot},groovy:Ci,scala:{packageOf:Gn,declarations:Kn,callables:qn,locals:Jn,returns:Yn,accesses:$n,innerAccesses:er,pairs:tr,calls:rr,constructions:ir,imports:ar,constants:or},csharp:{packageOf:Ve,declarations:Ie,callables:Be,locals:He,returns:Ue,accesses:qe,innerAccesses:Je,pairs:Ze,calls:et,constructions:tt,imports:nt,constants:rt}},Ei=/* @__PURE__ */ new Map;function Di(e,t){let n=`${e.runtimeFile}\0${e.grammarFiles[t]}`,r=Ei.get(n);return r===void 0&&(r=Promise.all([l(e.runtimeFile),l(e.grammarFiles[t])]).then(([e,t])=>s(`sha256`).update(e).update(t).digest(`hex`)),Ei.set(n,r),r.catch(()=>Ei.delete(n))),r}function Oi(t){let n=null,r=/* @__PURE__ */ new Map,i=!1,a=()=>(n??=import(`web-tree-sitter`).then(async e=>(await e.Parser.init({locateFile:()=>t.runtimeFile}),e)),n),o=e=>{let n=r.get(e);if(n)return n;let i=(async()=>{let{Language:n,Parser:r}=await a(),i=await n.load(new Uint8Array(await l(t.grammarFiles[e]))),o=new r;return o.setLanguage(i),o})();return r.set(e,i),i.catch(()=>r.delete(e)),i};return{async facts(t){if(i)throw Error(`The syntax port is disposed`);let n=u(t.path);if(n===null)throw Error(`No grammar is registered for ${t.path}`);let r=(await o(n)).parse(t.text),a=e(t.text);if(r===null)return{path:t.path,language:n,package:null,errors:[{offset:0,line:1}],lineStarts:a,declarations:[],callables:[],locals:[],returns:[],accesses:[],innerAccesses:[],pairs:[],calls:[],constructions:[],imports:[],constants:[]};try{let e=Ti[n],i=r.rootNode;return{path:t.path,language:n,package:e.packageOf(i),errors:ki(i,t.text),lineStarts:a,declarations:e.declarations(i),callables:e.callables(i),locals:e.locals(i),returns:e.returns(i),accesses:e.accesses(i),innerAccesses:e.innerAccesses(i),pairs:e.pairs(i),calls:e.calls(i),constructions:e.constructions(i),imports:e.imports(i),constants:e.constants(i)}}finally{r.delete()}},version:e=>Di(t,e),async dispose(){i=!0;let e=[...r.values()];r.clear();for(let t of e)(await t.catch(()=>null))?.delete()}}}function ki(e,n){let r=[],i=e=>{if(!(r.length>=20||!e.hasError)){if(e.isError||e.isMissing)r.push({offset:e.startIndex,line:t(n,e.startIndex)});else for(let t of e.children)i(t)}};return i(e),r}function Ai(){let e=i.join(import.meta.dirname,`syntax-worker.js`);return o(e)?{file:e,execArgv:[]}:{file:i.join(import.meta.dirname,`worker.ts`),execArgv:[`--experimental-strip-types`]}}function ji({locations:e,size:t}){let n=[],r=Ai(),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()),ee=()=>{let t=new re(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},l=()=>{let e=n.find(e=>e.waiting.size===0);return e===void 0?n.length<t?ee():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=l(),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 Di(e,t)},async dispose(){o=!0,await Promise.all([...n].map(e=>e.worker.terminate())),n.length=0}}}const Mi=e=>s(`sha256`).update(e).digest(`hex`);function Ni(e,t=null,n=!0){let r=/* @__PURE__ */ new Map,i=async(n,r)=>{let i=u(n.path);if(t===null||i===null)return e.facts(n);let a=s(`sha256`).update([`facts-2`,await e.version(i),n.path,r].join(`\0`)).digest(`hex`),o=await t.read(a);if(o!==null)return o;let c=await e.facts(n);return await t.write(a,c),c},a=e=>{if(!n)return i(e,Mi(e.text));let t=Mi(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(a))}}function Pi(e){return Math.min(4,Math.max(1,Math.floor(e/2)))}const Fi=Pi(a());function Ii(e,t){return e>200?t:0}let $={workers:0,cacheDirectory:null,remember:!0},Li=null,Ri=null;function zi(e){$=e,Li=null,Ri?.dispose(),Ri=null}function Bi(){return Li??=Vi(),Li}function Vi(){let e=$.cacheDirectory===null?null:oe($.cacheDirectory),t=ue(),n=$.workers>0?ji({locations:t,size:$.workers}):null;Ri=n;let r={cache:Ni(Oi(t),e,$.remember),hold:null},i=n===null?null:{cache:Ni(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&&Ii(e,$.workers)>0?i:r,t)}}async function Hi(e){let t=e.filter(e=>u(e.file)!==null);return Bi().pass(t.length,async e=>{let r=n();for(let n=0;n<t.length;n+=64){let i=t.slice(n,n+64);(await e(i.map(e=>({path:e.file,text:e.text})))).forEach((e,t)=>r.add({facts:e,text:i[t].text}))}return r.finish()})}export{u as a,Bi as i,Fi as n,zi as r,Hi as t};
@@ -1 +1 @@
1
- import{r as e}from"./chunk-translator-BFUJmSkR.js";import{n as t}from"./chunk-status-DgeSOz3A.js";import{t as n}from"./chunk-table-CJtiXv0e.js";import{$t as r,an as i,mt as a,pt as o}from"./chunk-src-BLyg_6UX.js";import{t as s}from"./chunk-context-DPJmldqg.js";import{i as c,r as l}from"./chunk-folders-13vx0i0n.js";import{t as u}from"./chunk-codeIndex-CzENd6hG.js";import{t as d}from"./chunk-plural-Bq_4vgOr.js";import{t as f}from"./chunk-diagrams-6suPQBVQ.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 n=c(e,t),r=[],i=e=>{for(let t of g(e,{withFileTypes:!0})){if(n(),o.has(t.name)||t.name.startsWith(`.`))continue;let s=p.join(e,t.name);t.isDirectory()?l(s)&&i(s):a.test(t.name)&&r.push(s)}};return i(e),r.sort()}function y(e,t){return`${p.relative(t,e.file)}:${e.line}`}function b(t,n,i,a,o=[],s={decisions:/* @__PURE__ */ new Set,forms:/* @__PURE__ */ new Set}){let c=[];for(let a of t){let t=e=>({severity:`fail`,message:e,where:`${a.diagram} · ${a.name}`,path:a.path,elementId:a.element,value:a.value});switch(a.kind){case`jobType`:!r({kind:`JOB_TYPE`,value:a.value})&&!n.jobTypes.has(a.value)&&c.push(t(e(`app.output.noWorkerForJobType`,{value:a.value})));break;case`topic`:n.topics.has(a.value)||c.push(t(e(`app.output.noWorkerForTopic`,{value:a.value})));break;case`class`:n.classes.has(a.value)||c.push(t(e(`app.output.classNotInProject`,{value:a.value})));break;case`bean`:n.beans.has(a.value)||c.push(t(e(`app.output.noBeanNamed`,{value:a.value})));break;case`calledElement`:i.has(a.value)||c.push(t(e(`app.output.callsNoProjectProcess`,{value:a.value})));break;case`decision`:s.decisions.has(a.value)||c.push(t(e(`app.output.callsNoProjectDecision`,{value:a.value})));break;case`form`:s.forms.has(a.value)||c.push(t(e(`app.output.showsNoProjectForm`,{value:a.value})));break;case`embeddedForm`:c.push(t(e(`app.output.showsNoEmbeddedForm`,{value:a.value})))}}let l=e=>new Set(t.filter(t=>t.kind===e).map(e=>e.value)),u=/* @__PURE__ */ new Set([`io.camunda.zeebe:userTask`,...o.flatMap(e=>[...e.matchAll(/[A-Za-z_][\w-]*/g)].map(e=>e[0]))]),d=/* @__PURE__ */ new Set([...l(`jobType`),...u]),f=/* @__PURE__ */ new Set([...l(`topic`),...u]);for(let[t,r]of n.jobTypes)d.has(t)||c.push({severity:`note`,message:e(`app.output.jobTypeNoDiagramUses`,{value:t}),where:y(r[0],a),path:r[0].file,line:r[0].line,value:t});for(let[t,r]of n.topics)f.has(t)||c.push({severity:`note`,message:e(`app.output.topicNoDiagramUses`,{value:t}),where:y(r[0],a),path:r[0].file,line:r[0].line,value:t});return c}const x={JOB_TYPE:`jobType`,TOPIC:`topic`,JAVA_CLASS:`class`,BEAN:`bean`};function S(t,n){let r=e=>(t.elements.find(t=>t.id===e)?.label??e).replace(/\s+/g,` `).trim(),i=(e,t,i)=>({diagram:n.diagram,path:n.path,element:e,name:r(e),kind:t,value:i});return{references:[...t.workers.map(t=>t.listener?{diagram:n.diagram,path:n.path,element:``,name:e(`app.output.listenerName`,{value:t.listener}),kind:x[t.kind],value:t.value}:i(t.elementId,x[t.kind],t.value)),...t.calls.map(e=>i(e.elementId,`calledElement`,e.calledProcessId)),...t.decisionUses.map(e=>i(e.elementId,`decision`,e.decisionId)),...t.formUses.filter(e=>e.linked).map(e=>i(e.elementId,`form`,e.formId)),...t.formUses.filter(e=>e.embedded&&!t.embeddedForms.includes(e.formId)).map(e=>i(e.elementId,`embeddedForm`,e.formId))],processes:t.processes.map(e=>e.id),dynamic:t.dynamic}}async function C(e,t){return S(await i(e,h(e,`utf8`)),{diagram:p.relative(t,e),path:e})}async function w(e){let t={decisions:/* @__PURE__ */ new Set,forms:/* @__PURE__ */ new Set},n=f(e,[`decision`,`form`]);for(let e of n){let n=await i(e,h(e,`utf8`));n.decisions.forEach(e=>t.decisions.add(e.id)),n.formId&&t.forms.add(n.formId)}return t}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(r,i,a){let o=_(r).isDirectory()?r:p.dirname(r),c=s(o),l=[o,...E(c.root,T(c.values))].flatMap(e=>v(e)).map(e=>({file:e,text:h(e,`utf8`)})),f=await u(l),m=[],g=/* @__PURE__ */ new Set,x=[];for(let e of i){let t=await C(e,o);m.push(...t.references),x.push(...t.dynamic),t.processes.forEach(e=>g.add(e))}let S=b(m,f,g,o,x,await w(o)),D=S.filter(e=>e.severity===`fail`);if(a===`json`)return{ok:D.length===0,refused:!1,lines:[JSON.stringify(S,null,2)]};let O=[e(`app.output.fromDiagramsToCode`,{sources:d(l.length,`app.output.count.sourceFile`),diagrams:d(i.length,`app.output.count.diagram`),references:d(m.length,`app.output.count.reference`)}),``],k=S.map(e=>({severity:t(e.severity),content:`${e.where} ${e.message}`})),A=n(k,{columns:[{name:`severity`,header:e(`app.cli.header.severity`),minWidth:4},{name:`content`,header:e(`app.cli.header.content`)}],headers:!1});return O.push(...A),f.unresolved.length>0&&O.push(e(`app.output.unresolvedWorker`,{workers:d(f.unresolved.length,`app.output.count.worker`),where:y(f.unresolved[0],o)})),O.push(``,D.length===0?e(`app.output.everyTaskHasCode`):e(`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};
1
+ import{r as e}from"./chunk-translator-BAjzyPKE.js";import{n as t}from"./chunk-status-X9Ny-Nu8.js";import{t as n}from"./chunk-table-B2WTbpMl.js";import{bt as r,fn as i,on as a,yt as o}from"./chunk-src-CxTpK8wk.js";import{t as s}from"./chunk-context-B-5CZFAT.js";import{i as c,r as l}from"./chunk-folders-yTMgOqLo.js";import{t as u}from"./chunk-codeIndex-olvCG85q.js";import{t as d}from"./chunk-plural-Di3FH8HP.js";import{t as f}from"./chunk-diagrams-wnFsPOKv.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 n=c(e,t),i=[],a=e=>{for(let t of g(e,{withFileTypes:!0})){if(n(),o.has(t.name)||t.name.startsWith(`.`))continue;let s=p.join(e,t.name);t.isDirectory()?l(s)&&a(s):r.test(t.name)&&i.push(s)}};return a(e),i.sort()}function y(e,t){return`${p.relative(t,e.file)}:${e.line}`}function b(t,n,r,i,o=[],s={decisions:/* @__PURE__ */ new Set,forms:/* @__PURE__ */ new Set}){let c=[];for(let i of t){let t=e=>({severity:`fail`,message:e,where:`${i.diagram} · ${i.name}`,path:i.path,elementId:i.element,value:i.value});switch(i.kind){case`jobType`:!a({kind:`JOB_TYPE`,value:i.value})&&!n.jobTypes.has(i.value)&&c.push(t(e(`app.output.noWorkerForJobType`,{value:i.value})));break;case`topic`:n.topics.has(i.value)||c.push(t(e(`app.output.noWorkerForTopic`,{value:i.value})));break;case`class`:n.classes.has(i.value)||c.push(t(e(`app.output.classNotInProject`,{value:i.value})));break;case`bean`:n.beans.has(i.value)||c.push(t(e(`app.output.noBeanNamed`,{value:i.value})));break;case`calledElement`:r.has(i.value)||c.push(t(e(`app.output.callsNoProjectProcess`,{value:i.value})));break;case`decision`:s.decisions.has(i.value)||c.push(t(e(`app.output.callsNoProjectDecision`,{value:i.value})));break;case`form`:s.forms.has(i.value)||c.push(t(e(`app.output.showsNoProjectForm`,{value:i.value})));break;case`embeddedForm`:c.push(t(e(`app.output.showsNoEmbeddedForm`,{value:i.value})))}}let l=e=>new Set(t.filter(t=>t.kind===e).map(e=>e.value)),u=/* @__PURE__ */ new Set([`io.camunda.zeebe:userTask`,...o.flatMap(e=>[...e.matchAll(/[A-Za-z_][\w-]*/g)].map(e=>e[0]))]),d=/* @__PURE__ */ new Set([...l(`jobType`),...u]),f=/* @__PURE__ */ new Set([...l(`topic`),...u]);for(let[t,r]of n.jobTypes)d.has(t)||c.push({severity:`note`,message:e(`app.output.jobTypeNoDiagramUses`,{value:t}),where:y(r[0],i),path:r[0].file,line:r[0].line,value:t});for(let[t,r]of n.topics)f.has(t)||c.push({severity:`note`,message:e(`app.output.topicNoDiagramUses`,{value:t}),where:y(r[0],i),path:r[0].file,line:r[0].line,value:t});return c}const x={JOB_TYPE:`jobType`,TOPIC:`topic`,JAVA_CLASS:`class`,BEAN:`bean`};function S(t,n){let r=e=>(t.elements.find(t=>t.id===e)?.label??e).replace(/\s+/g,` `).trim(),i=(e,t,i)=>({diagram:n.diagram,path:n.path,element:e,name:r(e),kind:t,value:i});return{references:[...t.workers.map(t=>t.listener?{diagram:n.diagram,path:n.path,element:``,name:e(`app.output.listenerName`,{value:t.listener}),kind:x[t.kind],value:t.value}:i(t.elementId,x[t.kind],t.value)),...t.calls.map(e=>i(e.elementId,`calledElement`,e.calledProcessId)),...t.decisionUses.map(e=>i(e.elementId,`decision`,e.decisionId)),...t.formUses.filter(e=>e.linked).map(e=>i(e.elementId,`form`,e.formId)),...t.formUses.filter(e=>e.embedded&&!t.embeddedForms.includes(e.formId)).map(e=>i(e.elementId,`embeddedForm`,e.formId))],processes:t.processes.map(e=>e.id),dynamic:t.dynamic}}async function C(e,t){return S(await i(e,h(e,`utf8`)),{diagram:p.relative(t,e),path:e})}async function w(e){let t={decisions:/* @__PURE__ */ new Set,forms:/* @__PURE__ */ new Set},n=f(e,[`decision`,`form`]);for(let e of n){let n=await i(e,h(e,`utf8`));n.decisions.forEach(e=>t.decisions.add(e.id)),n.formId&&t.forms.add(n.formId)}return t}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(r,i,a){let o=_(r).isDirectory()?r:p.dirname(r),c=s(o),l=[o,...E(c.root,T(c.values))].flatMap(e=>v(e)).map(e=>({file:e,text:h(e,`utf8`)})),f=await u(l),m=[],g=/* @__PURE__ */ new Set,x=[];for(let e of i){let t=await C(e,o);m.push(...t.references),x.push(...t.dynamic),t.processes.forEach(e=>g.add(e))}let S=b(m,f,g,o,x,await w(o)),D=S.filter(e=>e.severity===`fail`);if(a===`json`)return{ok:D.length===0,refused:!1,lines:[JSON.stringify(S,null,2)]};let O=[e(`app.output.fromDiagramsToCode`,{sources:d(l.length,`app.output.count.sourceFile`),diagrams:d(i.length,`app.output.count.diagram`),references:d(m.length,`app.output.count.reference`)}),``],k=S.map(e=>({severity:t(e.severity),content:`${e.where} ${e.message}`})),A=n(k,{columns:[{name:`severity`,header:e(`app.cli.header.severity`),minWidth:4},{name:`content`,header:e(`app.cli.header.content`)}],headers:!1});return O.push(...A),f.unresolved.length>0&&O.push(e(`app.output.unresolvedWorker`,{workers:d(f.unresolved.length,`app.output.count.worker`),where:y(f.unresolved[0],o)})),O.push(``,D.length===0?e(`app.output.everyTaskHasCode`):e(`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 @@
1
+ export{n as codeCommand}from"./chunk-codeLinks-DW721PAt.js";
@@ -1,4 +1,4 @@
1
- import{r as e,t}from"./chunk-translator-BFUJmSkR.js";import{C as n,O as r,S as i,T as a,_ as o,a as s,c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w}from"./chunk-security-5SU-bq3A.js";import{r as T}from"./chunk-failure-BsimkHy_.js";import E from"node:path";import{createReadStream as D,existsSync as O,realpathSync as k,statSync as A}from"node:fs";import{spawn as j}from"node:child_process";import{createServer as M}from"node:http";import{pipeline as N}from"node:stream";import{isIP as P}from"node:net";function F(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=j(t,n,{stdio:`ignore`,detached:!0});i.once(`error`,r),i.once(`spawn`,()=>{i.unref(),e()})})}function I(e=process.env,t=import.meta.dirname){let n=[e.PENSTOCK_WEB_ROOT,E.join(t,`web`),E.resolve(t,`..`,`..`,`..`,`..`,`libs`,`webview`,`build`,`web`)];for(let e of n)if(e&&O(E.join(e,`index.html`)))return e;return null}function L(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function R(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 z(n){let r=`app.cli.web.page.${n}`,i=n===`missing`?`<p><a href="/">${L(e(`app.cli.web.page.open`))}</a></p>`:``;return`<!doctype html><html lang="${L(t())}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="robots" content="noindex"><title>${L(e(`${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>${L(e(`${r}.title`))}</h1><p>${L(e(`${r}.text`))}</p><p class="hint">${L(e(`${r}.hint`))}</p>${i}</main></body></html>`}function B(e,t,n,r){if(!R(e))return u(t,n);let i=z(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 V={".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 H=class{root;constructor(e){this.root=e&&A(E.join(e,`index.html`),{throwIfNoEntry:!1})?.isFile()?k(e):null}get available(){return this.root!==null}serve(e,t,n){if(e.method!==`GET`&&e.method!==`HEAD`)return u(t,C(405,`app.cli.web.reason.methodNotAllowed`),{Allow:`GET, HEAD`});if(!this.root)return this.missing(t);let r;try{r=decodeURIComponent(n)}catch{return u(t,C(400,`app.cli.web.reason.badPath`,{path:``}))}if(r.includes(`\0`)||r.includes(`\\`)||r.split(`/`).includes(`..`))return u(t,C(403,`app.cli.web.reason.outside`,{path:``}));let i=r.endsWith(`/`)?`${r}index.html`:r,a=E.join(this.root,i),o=A(a,{throwIfNoEntry:!1});if(o?.isDirectory()&&(a=E.join(a,`index.html`),o=A(a,{throwIfNoEntry:!1})),!o?.isFile())return B(e,t,C(404,`app.cli.web.reason.noSuchFile`),`missing`);let s;try{s=k(a)}catch{return B(e,t,C(404,`app.cli.web.reason.noSuchFile`),`missing`)}if(!w(s,this.root))return u(t,C(403,`app.cli.web.reason.outside`,{path:``}));let c=`"${o.size.toString(16)}-${Math.floor(o.mtimeMs).toString(16)}"`,l=E.extname(s)===`.html`;t.setHeader(`ETag`,c),t.setHeader(`Cache-Control`,l?`no-cache`:`private, max-age=3600`),e.headers[`if-none-match`]===c?(t.writeHead(304),t.end()):(t.writeHead(200,{"Content-Type":V[E.extname(s).toLowerCase()]??`application/octet-stream`,"Content-Length":o.size}),e.method===`HEAD`?t.end():N(D(s),t,()=>void 0))}missing(t){let n=`<!doctype html><meta charset="utf-8"><title>Penstock</title><p>${e(`app.cli.web.noPage`)}</p>`;t.writeHead(503,{"Content-Type":`text/html; charset=utf-8`,"Content-Length":Buffer.byteLength(n),"Cache-Control":`no-store`}),t.end(n)}};const U=/* @__PURE__ */ new Set([`GET`,`HEAD`,`POST`,`PUT`,`PATCH`,`DELETE`]),W=/^[\w.-]{1,64}$/;function G(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 K(e,t,n,r){if(t===0)return await G(e,0,n),e.address().port;let i;for(let a=t;a<t+r&&a<=65535;a+=1)try{return await G(e,a,n),a}catch(e){i=e;let t=e.code;if(t!==`EADDRINUSE`&&t!==`EACCES`)throw e}throw i}function q(e,t){let n=new URLSearchParams(e.searchParams);n.delete(t);let r=n.toString();return`${e.pathname}${r?`?${r}`:``}`}async function J(e){let t=e.host??`127.0.0.1`,w=e.token??y(),T=new _(e),E=new H(e.webRoot??null),D=/* @__PURE__ */ new Set,O=null,k=/* @__PURE__ */ new Map,A=async(e,t)=>{S(t);let n=e.headers.host;if(!O||!O.allowsHost(n))return u(t,C(403,`app.cli.web.reason.wrongHost`));let r=e.method??``;if(!U.has(r))return u(t,C(405,`app.cli.web.reason.methodNotAllowed`),{Allow:`GET, HEAD, POST, PUT, PATCH, DELETE`});let i=e.url??``;if(i.length>8192)return u(t,C(414,`app.cli.web.reason.tooLong`));if(!i.startsWith(`/`)||i.startsWith(`//`))return u(t,C(400,`app.cli.web.reason.badPath`,{path:``}));if(!O.allowsOrigin(typeof e.headers.origin==`string`?e.headers.origin:void 0,n)||!v(e.headers))return u(t,C(403,`app.cli.web.reason.wrongOrigin`));let a;try{a=new URL(i,`http://${n}`)}catch{return u(t,C(400,`app.cli.web.reason.badPath`,{path:``}))}let o=a.pathname.startsWith(`/api/`)||a.pathname.startsWith(`/vscode/`)||a.pathname.startsWith(`/web/`);if(!o&&r===`GET`&&a.searchParams.has(`token`)){let n=a.searchParams.get(`token`),r=n===null?void 0:k.get(n);if(r!==void 0&&k.delete(n),!p(n,w)&&!(r!==void 0&&r>Date.now()))return B(e,t,C(401,`app.cli.web.reason.noToken`),`expired`);t.setHeader(`Set-Cookie`,h(w)),t.setHeader(`Cache-Control`,`no-store`),t.writeHead(303,{Location:q(a,`token`)}),t.end()}else{if(!f(e.headers,w))return o?u(t,C(401,`app.cli.web.reason.noToken`)):B(e,t,C(401,`app.cli.web.reason.noToken`),`expired`);if(!o)return E.serve(e,t,a.pathname);await j(e,t,a,r)}},j=async(e,t,s,f)=>{let p=x(f,s.pathname);if(p.kind===`none`)return u(t,C(404,`app.cli.web.reason.noSuchOperation`));if(p.kind===`method`)return u(t,C(405,`app.cli.web.reason.methodNotAllowed`),{Allow:p.allowed.join(`, `)});let{route:h,params:g}=p,_=T.context;t.setHeader(`X-Penstock-Project`,_.id);let v=new AbortController;t.once(`close`,()=>{t.writableEnded||v.abort()});let y=T.track(_,v),b=null,S=null;try{let n=l(h);if(n!==`none`){let t=e.headers[`x-penstock-project`];if(typeof t==`string`&&t!==``&&t!==_.id)throw C(409,`app.cli.web.reason.projectChanged`);if(n===`required`&&!_.open)throw C(409,`app.cli.web.reason.noProject`)}let r;if(f!==`GET`){let t=await d(e,h.limit??1048576);if(t.length>0){if(!/^application\/json\b/i.test(e.headers[`content-type`]??``))throw C(415,`app.cli.web.reason.notJson`);try{r=JSON.parse(t.toString(`utf8`))}catch{throw C(400,`app.cli.web.reason.notJson`)}}}else e.resume();h.operationId===`askEngine`&&typeof r==`object`&&r&&/^(POST|PUT|PATCH|DELETE)$/.test(String(r.method))&&(b=T.beginDeploy());let i=e.headers[`x-penstock-client`],u={body:r,query:s.searchParams,params:g,headers:e.headers,signal:v.signal,client:typeof i==`string`&&W.test(i)?i:`shared`,resource:c(e.headers),workspace:T},p=Promise.resolve().then(()=>h.run(u,_));p.catch(()=>void 0);let y=h.held?await p:await Promise.race([p,new Promise((e,t)=>{S=setTimeout(()=>{v.abort(),t(C(504,`app.cli.web.reason.tookTooLong`))},a),S.unref()})]);if(v.signal.aborted&&t.destroyed){y instanceof m&&y.body.destroy();return}if(y instanceof m){t.setHeader(`Cache-Control`,`no-store`),t.writeHead(200,y.headers),N(y.body,t,()=>void 0);return}o(t,200,y)}catch(e){if(e instanceof r)return void t.destroy();if(t.destroyed)return;u(t,e instanceof i?e:n(e))}finally{S&&clearTimeout(S),y(),b?.()}},P=M({maxHeaderSize:16384,requestTimeout:6e4,headersTimeout:15e3,keepAliveTimeout:5e3},(e,t)=>{A(e,t).catch(e=>{t.headersSent?t.destroy():u(t,n(e))})});P.maxConnections=512,P.on(`connection`,e=>{D.add(e),e.once(`close`,()=>D.delete(e))}),P.on(`clientError`,(e,t)=>{t.writable?t.end(`HTTP/1.1 400 Bad Request\r
1
+ import{r as e,t}from"./chunk-translator-BAjzyPKE.js";import{C as n,O as r,S as i,T as a,_ as o,a as s,c,f as l,g as u,h as d,i as f,l as p,m,n as h,o as g,p as _,r as v,s as y,t as b,u as x,v as S,w as C,x as w}from"./chunk-security-BKVRwb6V.js";import{r as T}from"./chunk-failure-BK7fu4Yo.js";import E from"node:path";import{createReadStream as D,existsSync as O,realpathSync as k,statSync as A}from"node:fs";import{spawn as j}from"node:child_process";import{createServer as M}from"node:http";import{pipeline as N}from"node:stream";import{isIP as P}from"node:net";function F(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=j(t,n,{stdio:`ignore`,detached:!0});i.once(`error`,r),i.once(`spawn`,()=>{i.unref(),e()})})}function I(e=process.env,t=import.meta.dirname){let n=[e.PENSTOCK_WEB_ROOT,E.join(t,`web`),E.resolve(t,`..`,`..`,`..`,`..`,`libs`,`webview`,`build`,`web`)];for(let e of n)if(e&&O(E.join(e,`index.html`)))return e;return null}function L(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function R(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 z(n){let r=`app.cli.web.page.${n}`,i=n===`missing`?`<p><a href="/">${L(e(`app.cli.web.page.open`))}</a></p>`:``;return`<!doctype html><html lang="${L(t())}"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="robots" content="noindex"><title>${L(e(`${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>${L(e(`${r}.title`))}</h1><p>${L(e(`${r}.text`))}</p><p class="hint">${L(e(`${r}.hint`))}</p>${i}</main></body></html>`}function B(e,t,n,r){if(!R(e))return u(t,n);let i=z(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 V={".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 H=class{root;constructor(e){this.root=e&&A(E.join(e,`index.html`),{throwIfNoEntry:!1})?.isFile()?k(e):null}get available(){return this.root!==null}serve(e,t,n){if(e.method!==`GET`&&e.method!==`HEAD`)return u(t,C(405,`app.cli.web.reason.methodNotAllowed`),{Allow:`GET, HEAD`});if(!this.root)return this.missing(t);let r;try{r=decodeURIComponent(n)}catch{return u(t,C(400,`app.cli.web.reason.badPath`,{path:``}))}if(r.includes(`\0`)||r.includes(`\\`)||r.split(`/`).includes(`..`))return u(t,C(403,`app.cli.web.reason.outside`,{path:``}));let i=r.endsWith(`/`)?`${r}index.html`:r,a=E.join(this.root,i),o=A(a,{throwIfNoEntry:!1});if(o?.isDirectory()&&(a=E.join(a,`index.html`),o=A(a,{throwIfNoEntry:!1})),!o?.isFile())return B(e,t,C(404,`app.cli.web.reason.noSuchFile`),`missing`);let s;try{s=k(a)}catch{return B(e,t,C(404,`app.cli.web.reason.noSuchFile`),`missing`)}if(!w(s,this.root))return u(t,C(403,`app.cli.web.reason.outside`,{path:``}));let c=`"${o.size.toString(16)}-${Math.floor(o.mtimeMs).toString(16)}"`,l=E.extname(s)===`.html`;t.setHeader(`ETag`,c),t.setHeader(`Cache-Control`,l?`no-cache`:`private, max-age=3600`),e.headers[`if-none-match`]===c?(t.writeHead(304),t.end()):(t.writeHead(200,{"Content-Type":V[E.extname(s).toLowerCase()]??`application/octet-stream`,"Content-Length":o.size}),e.method===`HEAD`?t.end():N(D(s),t,()=>void 0))}missing(t){let n=`<!doctype html><meta charset="utf-8"><title>Penstock</title><p>${e(`app.cli.web.noPage`)}</p>`;t.writeHead(503,{"Content-Type":`text/html; charset=utf-8`,"Content-Length":Buffer.byteLength(n),"Cache-Control":`no-store`}),t.end(n)}};const U=/* @__PURE__ */ new Set([`GET`,`HEAD`,`POST`,`PUT`,`PATCH`,`DELETE`]),W=/^[\w.-]{1,64}$/;function G(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 K(e,t,n,r){if(t===0)return await G(e,0,n),e.address().port;let i;for(let a=t;a<t+r&&a<=65535;a+=1)try{return await G(e,a,n),a}catch(e){i=e;let t=e.code;if(t!==`EADDRINUSE`&&t!==`EACCES`)throw e}throw i}function q(e,t){let n=new URLSearchParams(e.searchParams);n.delete(t);let r=n.toString();return`${e.pathname}${r?`?${r}`:``}`}async function J(e){let t=e.host??`127.0.0.1`,w=e.token??y(),T=new _(e),E=new H(e.webRoot??null),D=/* @__PURE__ */ new Set,O=null,k=/* @__PURE__ */ new Map,A=async(e,t)=>{S(t);let n=e.headers.host;if(!O||!O.allowsHost(n))return u(t,C(403,`app.cli.web.reason.wrongHost`));let r=e.method??``;if(!U.has(r))return u(t,C(405,`app.cli.web.reason.methodNotAllowed`),{Allow:`GET, HEAD, POST, PUT, PATCH, DELETE`});let i=e.url??``;if(i.length>8192)return u(t,C(414,`app.cli.web.reason.tooLong`));if(!i.startsWith(`/`)||i.startsWith(`//`))return u(t,C(400,`app.cli.web.reason.badPath`,{path:``}));if(!O.allowsOrigin(typeof e.headers.origin==`string`?e.headers.origin:void 0,n)||!v(e.headers))return u(t,C(403,`app.cli.web.reason.wrongOrigin`));let a;try{a=new URL(i,`http://${n}`)}catch{return u(t,C(400,`app.cli.web.reason.badPath`,{path:``}))}let o=a.pathname.startsWith(`/api/`)||a.pathname.startsWith(`/vscode/`)||a.pathname.startsWith(`/web/`);if(!o&&r===`GET`&&a.searchParams.has(`token`)){let n=a.searchParams.get(`token`),r=n===null?void 0:k.get(n);if(r!==void 0&&k.delete(n),!p(n,w)&&!(r!==void 0&&r>Date.now()))return B(e,t,C(401,`app.cli.web.reason.noToken`),`expired`);t.setHeader(`Set-Cookie`,h(w)),t.setHeader(`Cache-Control`,`no-store`),t.writeHead(303,{Location:q(a,`token`)}),t.end()}else{if(!f(e.headers,w))return o?u(t,C(401,`app.cli.web.reason.noToken`)):B(e,t,C(401,`app.cli.web.reason.noToken`),`expired`);if(!o)return E.serve(e,t,a.pathname);await j(e,t,a,r)}},j=async(e,t,s,f)=>{let p=x(f,s.pathname);if(p.kind===`none`)return u(t,C(404,`app.cli.web.reason.noSuchOperation`));if(p.kind===`method`)return u(t,C(405,`app.cli.web.reason.methodNotAllowed`),{Allow:p.allowed.join(`, `)});let{route:h,params:g}=p,_=T.context;t.setHeader(`X-Penstock-Project`,_.id);let v=new AbortController;t.once(`close`,()=>{t.writableEnded||v.abort()});let y=T.track(_,v),b=null,S=null;try{let n=l(h);if(n!==`none`){let t=e.headers[`x-penstock-project`];if(typeof t==`string`&&t!==``&&t!==_.id)throw C(409,`app.cli.web.reason.projectChanged`);if(n===`required`&&!_.open)throw C(409,`app.cli.web.reason.noProject`)}let r;if(f!==`GET`){let t=await d(e,h.limit??1048576);if(t.length>0){if(!/^application\/json\b/i.test(e.headers[`content-type`]??``))throw C(415,`app.cli.web.reason.notJson`);try{r=JSON.parse(t.toString(`utf8`))}catch{throw C(400,`app.cli.web.reason.notJson`)}}}else e.resume();h.operationId===`askEngine`&&typeof r==`object`&&r&&/^(POST|PUT|PATCH|DELETE)$/.test(String(r.method))&&(b=T.beginDeploy());let i=e.headers[`x-penstock-client`],u={body:r,query:s.searchParams,params:g,headers:e.headers,signal:v.signal,client:typeof i==`string`&&W.test(i)?i:`shared`,resource:c(e.headers),workspace:T},p=Promise.resolve().then(()=>h.run(u,_));p.catch(()=>void 0);let y=h.held?await p:await Promise.race([p,new Promise((e,t)=>{S=setTimeout(()=>{v.abort(),t(C(504,`app.cli.web.reason.tookTooLong`))},a),S.unref()})]);if(v.signal.aborted&&t.destroyed){y instanceof m&&y.body.destroy();return}if(y instanceof m){t.setHeader(`Cache-Control`,`no-store`),t.writeHead(200,y.headers),N(y.body,t,()=>void 0);return}o(t,200,y)}catch(e){if(e instanceof r)return void t.destroy();if(t.destroyed)return;u(t,e instanceof i?e:n(e))}finally{S&&clearTimeout(S),y(),b?.()}},P=M({maxHeaderSize:16384,requestTimeout:6e4,headersTimeout:15e3,keepAliveTimeout:5e3},(e,t)=>{A(e,t).catch(e=>{t.headersSent?t.destroy():u(t,n(e))})});P.maxConnections=512,P.on(`connection`,e=>{D.add(e),e.once(`close`,()=>D.delete(e))}),P.on(`clientError`,(e,t)=>{t.writable?t.end(`HTTP/1.1 400 Bad Request\r
2
2
  Connection: close\r
3
3
  Content-Length: 0\r
4
4
  \r
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-editPreview-DGu4slO6.js";import{a as t,i as n,n as r,o as i}from"./chunk-command-D7WS1aRl.js";export{r as applyOperations,e as engineOf,n as operationFromWords,t as schemaCommand,i as showCommand};
@@ -1 +1 @@
1
- import{t as e}from"./chunk-atomicWrite-C6J1gDtO.js";import{r as t}from"./chunk-translator-BFUJmSkR.js";import{t as n}from"./chunk-table-CJtiXv0e.js";import{c as r,d as i}from"./chunk-moddle-Dlk0NR-u.js";import{y as a}from"./chunk-engine-CxgdJ2wO.js";import{a as o,c as s,d as c,f as l,i as u,l as d,n as f,o as p,p as m,r as h,s as g,u as _}from"./chunk-apply-BAMwoXG9.js";import{r as v}from"./chunk-context-DPJmldqg.js";import{n as y,t as b}from"./chunk-editPreview-BgH1JVOD.js";import{t as x}from"./chunk-plural-Bq_4vgOr.js";import{n as S}from"./chunk-placeholderLayout-B18ekWmh.js";import{t as C}from"./chunk-diff-D1m_eKvv.js";import{n as w}from"./chunk-drawing-shRfnrs9.js";import{j as T}from"./chunk-diagramDefects-7UG_Iwsr.js";import{a as E}from"./chunk-diagram-BaVwLa4h.js";import{createRequire as D}from"node:module";import O from"node:path";import{tmpdir as k}from"node:os";import{mkdtempSync as A,readFileSync as j,rmSync as M,writeFileSync as N}from"node:fs";const P=D(import.meta.url),F={camunda:JSON.parse(j(P.resolve(`camunda-bpmn-moddle/resources/camunda.json`),`utf8`)),operaton:i,zeebe:JSON.parse(j(P.resolve(`zeebe-bpmn-moddle/resources/zeebe.json`),`utf8`)),flowable:r(`flowable`),activiti:r(`activiti`)},I=/^bpmn:(\w*Task|CallActivity|\w*Gateway|(Start|End|IntermediateCatch|IntermediateThrow)Event)$/;var L=class e{modeler;container;engine;conventions;importWarnings=0;constructor(e,t,n,r){this.modeler=e,this.container=t,this.engine=n,this.conventions=r}static async open(t,n,r={}){let{window:i}=await w(`modeler`),o=i.document.createElement(`div`);i.document.body.appendChild(o);let s=i.BpmnJS,c=a(n),l=new s({container:o,moddleExtensions:c===`plain`?{}:{[c]:F[c]}}),u=new e(l,o,n,r),d=l.get(`graphicsFactory`);d.update=()=>{};let{warnings:f}=await l.importXML(t);return u.importWarnings=f.length,u}dispose(){this.modeler.destroy(),this.container.remove()}async save(){return`${(await this.modeler.saveXML({format:!0})).xml}\n`}get registry(){return this.modeler.get(`elementRegistry`)}get modeling(){return this.modeler.get(`modeling`)}get moddle(){return this.modeler.get(`moddle`)}get properties(){return{modeling:this.modeling,moddle:this.moddle}}element(e){let n=this.registry.get(e);if(!n||n.type===`label`)throw new u(t(`app.cli.edit.noSuchElement`,{id:e}));return n}async apply(e,n){switch(e.op){case`add`:return this.add(e,n);case`connect`:return this.connect(e);case`set`:{let n=this.element(e.id);return h(this.properties,this.engine,n,e.properties),t(`app.cli.edit.set`,{keys:Object.keys(e.properties).join(`, `),id:n.id})}case`remove`:{let n=this.element(e.id);if(n.type===`bpmn:Process`||n.type===`bpmn:Collaboration`)throw new u(t(`app.cli.edit.isTheRoot`,{id:n.id}));return this.modeling.removeElements([n]),t(`app.cli.edit.removed`,{id:n.id})}case`move`:{let n=this.element(e.id);if(n.waypoints)throw new u(t(`app.cli.edit.isAConnection`,{id:n.id}));return this.modeling.moveElements([n],{x:e.dx,y:e.dy}),t(`app.cli.edit.moved`,{id:n.id,dx:e.dx,dy:e.dy})}}}add(e,n){let r=this.element(e.after);if(r.waypoints)throw new u(t(`app.cli.edit.isAConnection`,{id:r.id}));if(r.type===`bpmn:EndEvent`)throw new u(t(`app.cli.edit.afterEndEvent`,{id:r.id}));if(r.type===`bpmn:Participant`||r.type===`bpmn:Lane`)throw new u(t(`app.cli.edit.addAfterAnElementInside`,{id:r.id,type:l(r)}));let i=o[e.element].type,a=this.idFor(i,e.id,e.name),s=this.place(r,()=>this.modeler.get(`elementFactory`).createShape({type:i,businessObject:this.modeler.get(`bpmnFactory`).create(i,a?{id:a}:{}),...e.event?{eventDefinitionType:p[e.event]}:{}}),n),c=_(this.conventions,s.businessObject.$type);return Object.keys(c).length>0&&this.modeling.updateProperties(s,c),e.name&&this.modeling.updateProperties(s,{name:e.name}),e.properties&&h(this.properties,this.engine,s,e.properties),t(`app.cli.edit.added`,{type:l(s),id:s.id,after:r.id})}place(e,t,n){let r=this.modeler.get(`commandStack`),i=new Set(this.registry.getAll().map(e=>e.id)),a=this.modeler.get(`autoPlace`).append(e,t());if(!n)return a;let o=t=>{let n=Math.min(e.x,t.x)-160,r=Math.min(e.y,t.y)-160,i=Math.max(e.x+e.width,t.x+t.width)+160,a=Math.max(e.y+e.height,t.y+t.height)+160;return{x:n,y:r,width:i-n,height:a-r}},s=e=>n(E(this.modeler.getDefinitions(),this.moddle,e,i)),c=o(a),l=s(c);if(l<=0)return a;if(r.undo(),l-s(c)<=0)return r.redo(),a;let u=a.width,d=a.height,f=e.x+e.width+80+u/2,p=e.y+e.height/2,m=[];for(let e of[0,1,2,3,4])for(let t of[1,-1,2,-2,3,-3,4,-4,0])(e!==0||t!==0)&&m.push([f+e*(u+60),p+t*(d+60)]);let h=I.test(a.type)?this.registry.filter(t=>t.parent===e.parent&&!t.waypoints&&I.test(t.type)):[],g=e=>{let t={x:e[0]-u/2,y:e[1]-d/2,width:u,height:d};return h.filter(e=>T(t,e)).length},_={position:null,route:0,extra:1/0};for(let n of m){if(g(n)*1e3>=_.extra)continue;let i=o({x:n[0]-u/2,y:n[1]-d/2,width:u,height:d}),a=s(i),c=this.modeling.appendShape(e,t(),{x:n[0],y:n[1]},e.parent),l=c.incoming[0];for(let[t,o]of[null,...this.routes(e,c)].entries()){o&&this.modeling.updateWaypoints(l,o);let e=s(i)-a;if(e<=0)return c;e<_.extra&&(_={position:n,route:t,extra:e}),o&&r.undo()}r.undo()}if(!_.position)return this.modeler.get(`autoPlace`).append(e,t());let v=this.modeling.appendShape(e,t(),{x:_.position[0],y:_.position[1]},e.parent),y=_.route>0?this.routes(e,v)[_.route-1]:null;return y&&this.modeling.updateWaypoints(v.incoming[0],y),v}routes(e,t){let n={x:e.x+e.width/2,y:e.y+e.height/2},r={x:t.x+t.width/2,y:t.y+t.height/2},i=r.y>n.y,a=[{x:n.x,y:i?e.y+e.height:e.y},{x:n.x,y:r.y},{x:t.x,y:r.y}],o=[{x:e.x+e.width,y:n.y},{x:r.x,y:n.y},{x:r.x,y:i?t.y:t.y+t.height}],s=e.x+e.width,c=[{x:s,y:n.y},{x:s+20,y:n.y},{x:s+20,y:r.y},{x:t.x,y:r.y}],l=[{x:s,y:n.y},{x:t.x-20,y:n.y},{x:t.x-20,y:r.y},{x:t.x,y:r.y}];return n.y===r.y?[]:[c,a,o,l]}idFor(e,n,r){let i=e=>!!this.registry.get(e);if(n){if(i(n))throw new u(t(`app.cli.edit.idTaken`,{id:n}));return n}let a=r&&this.conventions.ids?c({$type:e},r,this.conventions.ids):null;return a?m(a,i):void 0}connect(e){let n=this.element(e.from),r=this.element(e.to),i=this.modeler.get(`bpmnRules`).canConnect(n,r);if(!i||i.type!==`bpmn:SequenceFlow`)throw new u(t(`app.cli.edit.noSequenceFlow`,{from:n.id,to:r.id}));let a=this.modeling.connect(n,r,{type:`bpmn:SequenceFlow`});return e.name&&this.modeling.updateProperties(a,{name:e.name}),e.condition&&h(this.properties,this.engine,a,{condition:e.condition}),t(`app.cli.edit.connect`,{from:n.id,to:r.id,id:a.id})}describe(){return this.registry.getAll().filter(e=>e.type!==`label`&&e.businessObject&&e.parent).map(e=>{let t=e.businessObject,n={id:e.id,type:l(e),name:t.name||void 0,parent:e.parent?.parent?e.parent.id:void 0,incoming:(e.incoming??[]).map(e=>e.id),outgoing:(e.outgoing??[]).map(e=>e.id),properties:f(t,this.engine)};return e.waypoints&&(n.source=e.source?.id,n.target=e.target?.id),n})}};const R=[`LOST-CONNECTION`,`SEMANTIC-DRIFT`,`BACKTRACK`,`CONTAINMENT`,`OVERLAP`,`EDGE-THROUGH-NODE`,`DETACHED-EDGE`,`LABEL-OVERLAP`,`DANGLING-CONNECTION`,`BOUNDARY-OFF-HOST`],z=e=>R.includes(e.slice(0,e.indexOf(`:`)));async function B(e){let t=A(O.join(k(),`penstock-edit-`));try{let n=O.join(t,`diagram.bpmn`);N(n,e);let{measureDiagram:r}=await import(`./chunk-diagram-CCA1-fT5.js`);return(await r(n,{asAuthored:!0})).defects.map(e=>`${e.kind}: ${e.detail}`)}finally{M(t,{recursive:!0,force:!0})}}async function V(e,t){let n=A(O.join(k(),`penstock-edit-`));try{return N(O.join(n,`before.bpmn`),e),N(O.join(n,`after.bpmn`),t),(await C(O.join(n,`before.bpmn`),O.join(n,`after.bpmn`),!0)).summary?.lines??[]}finally{M(n,{recursive:!0,force:!0})}}async function H(n,r,i={}){let a=j(n,`utf8`),o=y(n,a),s;try{s=d(r,o)}catch(e){return{ok:!1,applied:[],lines:[e instanceof Error?e.message:String(e),t(`app.cli.nothingWritten`)]}}let c=new Set(await B(a)),l=e=>{let t=e.filter(e=>!c.has(e));return t.filter(z).length*1e3+t.filter(e=>!z(e)).length},f=await L.open(a,o,b(n)),p=[],m;try{for(let e of s)p.push(await f.apply(e,l));m=await f.save()}catch(e){let n=e instanceof u?e.message:t(`app.cli.edit.editorRefused`,{reason:e instanceof Error?e.message:String(e)});return{ok:!1,applied:[],lines:[t(`app.cli.edit.operationFailed`,{number:p.length+1,message:n}),t(`app.cli.nothingWritten`)]}}finally{f.dispose()}let h=await L.open(m,o),g=h.importWarnings;h.dispose();let _=await L.open(a,o),S=_.importWarnings;if(_.dispose(),g>S)return{ok:!1,applied:p,lines:[t(`app.cli.edit.didNotReadBack`),t(`app.cli.nothingWritten`)]};let C=(await B(m)).filter(e=>!c.has(e)),w=C.filter(z),T=C.filter(e=>!z(e)),E=w.length>0&&!i.force;if(!i.dryRun&&!E){if(j(n,`utf8`)!==a)return{ok:!1,applied:p,lines:[t(`app.cli.edit.changedWhileEditing`),t(`app.cli.nothingWritten`)]};e(n,m)}let D=[...p,``,...(await V(a,m)).map(e=>` ${e}`),``,w.length===0?t(`app.cli.edit.nothingBroken`):t(`app.cli.edit.breaksTheDrawing`,{problems:x(w.length,`app.cli.edit.count.newProblem`)}),...w.map(e=>` ${e}`),...T.length>0?[t(`app.cli.edit.readsLessWell`,{things:x(T.length,`app.cli.edit.count.thing`)}),...T.map(e=>` ${e}`)]:[],i.dryRun?t(`app.cli.edit.dryRun`,{file:v(n)}):t(E?`app.cli.edit.wouldBreak`:`app.cli.wrote`,{file:v(n)})];return{ok:!E,applied:p,xml:m,lines:D}}async function U(e){let t=j(e,`utf8`),n=y(e,t),r=await L.open(await S(t),n);try{return{engine:n,elements:r.describe()}}finally{r.dispose()}}async function W(e,r){let{engine:i,elements:a}=await U(e);if(r)return{ok:!0,lines:[JSON.stringify({file:v(e),engine:i,elements:a},null,2)]};let o=a.map(e=>({type:e.type,id:e.id,name:e.name??``,flow:e.source&&e.target?`${e.source} -> ${e.target}`:``})),s=n(o,{columns:[{name:`type`,header:t(`app.cli.header.type`),minWidth:16},{name:`id`,header:t(`app.cli.header.id`),minWidth:14},{name:`name`,header:t(`app.cli.header.name`)},{name:`flow`,header:t(`app.cli.header.flow`)}]});return{ok:!0,lines:[`${v(e)} (${i})`,``,...s]}}function G(e){let t=j(e,`utf8`);return{ok:!0,lines:[JSON.stringify(s(y(e,t)),null,2)]}}function K(e,t,n){let r=Object.hasOwn(g[e],t)?g[e][t].kind:void 0;return r===`boolean`?n===`true`||n!==`false`&&n:r===`integer`&&/^\d+$/.test(n)?Number(n):n}function q(e,n){return e.map(e=>{let r=e.indexOf(`=`);if(r<=0)throw new u(t(`app.cli.edit.mustLookLikePairs`,{where:n,entry:e}));return[e.slice(0,r),e.slice(r+1)]})}function J(e,n){let[r,...i]=n.words,a=()=>{let t=[...i.slice(r===`set`?1:i.length),...n.options(`set`)],a=Object.fromEntries(q(t,`--set`).map(([t,n])=>[t,K(e,t,n)])),o=q(n.options(`input`),`--input`),s=q(n.options(`output`),`--output`);return o.length>0&&(a.inputs=Object.fromEntries(o)),s.length>0&&(a.outputs=Object.fromEntries(s)),Object.keys(a).length>0?a:void 0},o=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0));switch(r){case`add`:return o({op:`add`,element:i[0],after:n.option(`after`),event:n.option(`event`),name:n.option(`name`),id:n.option(`id`),properties:a()});case`connect`:return o({op:`connect`,from:i[0],to:i[1],name:n.option(`name`),condition:n.option(`condition`)});case`set`:return{op:`set`,id:i[0],properties:a()??{}};case`remove`:return{op:`remove`,id:i[0]};default:throw new u(t(`app.cli.edit.sayWhatToDo`))}}export{G as a,J as i,H as n,W as o,U as r,R as t};
1
+ import{t as e}from"./chunk-atomicWrite-C6J1gDtO.js";import{r as t}from"./chunk-translator-BAjzyPKE.js";import{t as n}from"./chunk-table-B2WTbpMl.js";import{c as r,d as i}from"./chunk-moddle-Dlk0NR-u.js";import{y as a}from"./chunk-engine-CxgdJ2wO.js";import{a as o,c as s,d as c,f as l,i as u,l as d,n as f,o as p,p as m,r as h,s as g,u as _}from"./chunk-apply-Dmo_XdOA.js";import{r as v}from"./chunk-context-B-5CZFAT.js";import{n as y,t as b}from"./chunk-editPreview-DGu4slO6.js";import{t as x}from"./chunk-plural-Di3FH8HP.js";import{n as S}from"./chunk-placeholderLayout-B18ekWmh.js";import{t as C}from"./chunk-diff-BJ2sJwcs.js";import{n as w}from"./chunk-drawing-C2qewK8L.js";import{j as T}from"./chunk-diagramDefects-DlVCfZci.js";import{a as E}from"./chunk-diagram-DYoeuAJx.js";import{createRequire as D}from"node:module";import O from"node:path";import{tmpdir as k}from"node:os";import{mkdtempSync as A,readFileSync as j,rmSync as M,writeFileSync as N}from"node:fs";const P=D(import.meta.url),F={camunda:JSON.parse(j(P.resolve(`camunda-bpmn-moddle/resources/camunda.json`),`utf8`)),operaton:i,zeebe:JSON.parse(j(P.resolve(`zeebe-bpmn-moddle/resources/zeebe.json`),`utf8`)),flowable:r(`flowable`),activiti:r(`activiti`)},I=/^bpmn:(\w*Task|CallActivity|\w*Gateway|(Start|End|IntermediateCatch|IntermediateThrow)Event)$/;var L=class e{modeler;container;engine;conventions;importWarnings=0;constructor(e,t,n,r){this.modeler=e,this.container=t,this.engine=n,this.conventions=r}static async open(t,n,r={}){let{window:i}=await w(`modeler`),o=i.document.createElement(`div`);i.document.body.appendChild(o);let s=i.BpmnJS,c=a(n),l=new s({container:o,moddleExtensions:c===`plain`?{}:{[c]:F[c]}}),u=new e(l,o,n,r),d=l.get(`graphicsFactory`);d.update=()=>{};let{warnings:f}=await l.importXML(t);return u.importWarnings=f.length,u}dispose(){this.modeler.destroy(),this.container.remove()}async save(){return`${(await this.modeler.saveXML({format:!0})).xml}\n`}get registry(){return this.modeler.get(`elementRegistry`)}get modeling(){return this.modeler.get(`modeling`)}get moddle(){return this.modeler.get(`moddle`)}get properties(){return{modeling:this.modeling,moddle:this.moddle}}element(e){let n=this.registry.get(e);if(!n||n.type===`label`)throw new u(t(`app.cli.edit.noSuchElement`,{id:e}));return n}async apply(e,n){switch(e.op){case`add`:return this.add(e,n);case`connect`:return this.connect(e);case`set`:{let n=this.element(e.id);return h(this.properties,this.engine,n,e.properties),t(`app.cli.edit.set`,{keys:Object.keys(e.properties).join(`, `),id:n.id})}case`remove`:{let n=this.element(e.id);if(n.type===`bpmn:Process`||n.type===`bpmn:Collaboration`)throw new u(t(`app.cli.edit.isTheRoot`,{id:n.id}));return this.modeling.removeElements([n]),t(`app.cli.edit.removed`,{id:n.id})}case`move`:{let n=this.element(e.id);if(n.waypoints)throw new u(t(`app.cli.edit.isAConnection`,{id:n.id}));return this.modeling.moveElements([n],{x:e.dx,y:e.dy}),t(`app.cli.edit.moved`,{id:n.id,dx:e.dx,dy:e.dy})}}}add(e,n){let r=this.element(e.after);if(r.waypoints)throw new u(t(`app.cli.edit.isAConnection`,{id:r.id}));if(r.type===`bpmn:EndEvent`)throw new u(t(`app.cli.edit.afterEndEvent`,{id:r.id}));if(r.type===`bpmn:Participant`||r.type===`bpmn:Lane`)throw new u(t(`app.cli.edit.addAfterAnElementInside`,{id:r.id,type:l(r)}));let i=o[e.element].type,a=this.idFor(i,e.id,e.name),s=this.place(r,()=>this.modeler.get(`elementFactory`).createShape({type:i,businessObject:this.modeler.get(`bpmnFactory`).create(i,a?{id:a}:{}),...e.event?{eventDefinitionType:p[e.event]}:{}}),n),c=_(this.conventions,s.businessObject.$type);return Object.keys(c).length>0&&this.modeling.updateProperties(s,c),e.name&&this.modeling.updateProperties(s,{name:e.name}),e.properties&&h(this.properties,this.engine,s,e.properties),t(`app.cli.edit.added`,{type:l(s),id:s.id,after:r.id})}place(e,t,n){let r=this.modeler.get(`commandStack`),i=new Set(this.registry.getAll().map(e=>e.id)),a=this.modeler.get(`autoPlace`).append(e,t());if(!n)return a;let o=t=>{let n=Math.min(e.x,t.x)-160,r=Math.min(e.y,t.y)-160,i=Math.max(e.x+e.width,t.x+t.width)+160,a=Math.max(e.y+e.height,t.y+t.height)+160;return{x:n,y:r,width:i-n,height:a-r}},s=e=>n(E(this.modeler.getDefinitions(),this.moddle,e,i)),c=o(a),l=s(c);if(l<=0)return a;if(r.undo(),l-s(c)<=0)return r.redo(),a;let u=a.width,d=a.height,f=e.x+e.width+80+u/2,p=e.y+e.height/2,m=[];for(let e of[0,1,2,3,4])for(let t of[1,-1,2,-2,3,-3,4,-4,0])(e!==0||t!==0)&&m.push([f+e*(u+60),p+t*(d+60)]);let h=I.test(a.type)?this.registry.filter(t=>t.parent===e.parent&&!t.waypoints&&I.test(t.type)):[],g=e=>{let t={x:e[0]-u/2,y:e[1]-d/2,width:u,height:d};return h.filter(e=>T(t,e)).length},_={position:null,route:0,extra:1/0};for(let n of m){if(g(n)*1e3>=_.extra)continue;let i=o({x:n[0]-u/2,y:n[1]-d/2,width:u,height:d}),a=s(i),c=this.modeling.appendShape(e,t(),{x:n[0],y:n[1]},e.parent),l=c.incoming[0];for(let[t,o]of[null,...this.routes(e,c)].entries()){o&&this.modeling.updateWaypoints(l,o);let e=s(i)-a;if(e<=0)return c;e<_.extra&&(_={position:n,route:t,extra:e}),o&&r.undo()}r.undo()}if(!_.position)return this.modeler.get(`autoPlace`).append(e,t());let v=this.modeling.appendShape(e,t(),{x:_.position[0],y:_.position[1]},e.parent),y=_.route>0?this.routes(e,v)[_.route-1]:null;return y&&this.modeling.updateWaypoints(v.incoming[0],y),v}routes(e,t){let n={x:e.x+e.width/2,y:e.y+e.height/2},r={x:t.x+t.width/2,y:t.y+t.height/2},i=r.y>n.y,a=[{x:n.x,y:i?e.y+e.height:e.y},{x:n.x,y:r.y},{x:t.x,y:r.y}],o=[{x:e.x+e.width,y:n.y},{x:r.x,y:n.y},{x:r.x,y:i?t.y:t.y+t.height}],s=e.x+e.width,c=[{x:s,y:n.y},{x:s+20,y:n.y},{x:s+20,y:r.y},{x:t.x,y:r.y}],l=[{x:s,y:n.y},{x:t.x-20,y:n.y},{x:t.x-20,y:r.y},{x:t.x,y:r.y}];return n.y===r.y?[]:[c,a,o,l]}idFor(e,n,r){let i=e=>!!this.registry.get(e);if(n){if(i(n))throw new u(t(`app.cli.edit.idTaken`,{id:n}));return n}let a=r&&this.conventions.ids?c({$type:e},r,this.conventions.ids):null;return a?m(a,i):void 0}connect(e){let n=this.element(e.from),r=this.element(e.to),i=this.modeler.get(`bpmnRules`).canConnect(n,r);if(!i||i.type!==`bpmn:SequenceFlow`)throw new u(t(`app.cli.edit.noSequenceFlow`,{from:n.id,to:r.id}));let a=this.modeling.connect(n,r,{type:`bpmn:SequenceFlow`});return e.name&&this.modeling.updateProperties(a,{name:e.name}),e.condition&&h(this.properties,this.engine,a,{condition:e.condition}),t(`app.cli.edit.connect`,{from:n.id,to:r.id,id:a.id})}describe(){return this.registry.getAll().filter(e=>e.type!==`label`&&e.businessObject&&e.parent).map(e=>{let t=e.businessObject,n={id:e.id,type:l(e),name:t.name||void 0,parent:e.parent?.parent?e.parent.id:void 0,incoming:(e.incoming??[]).map(e=>e.id),outgoing:(e.outgoing??[]).map(e=>e.id),properties:f(t,this.engine)};return e.waypoints&&(n.source=e.source?.id,n.target=e.target?.id),n})}};const R=[`LOST-CONNECTION`,`SEMANTIC-DRIFT`,`BACKTRACK`,`CONTAINMENT`,`OVERLAP`,`EDGE-THROUGH-NODE`,`DETACHED-EDGE`,`LABEL-OVERLAP`,`DANGLING-CONNECTION`,`BOUNDARY-OFF-HOST`],z=e=>R.includes(e.slice(0,e.indexOf(`:`)));async function B(e){let t=A(O.join(k(),`penstock-edit-`));try{let n=O.join(t,`diagram.bpmn`);N(n,e);let{measureDiagram:r}=await import(`./chunk-diagram-CIy-F5iz.js`);return(await r(n,{asAuthored:!0})).defects.map(e=>`${e.kind}: ${e.detail}`)}finally{M(t,{recursive:!0,force:!0})}}async function V(e,t){let n=A(O.join(k(),`penstock-edit-`));try{return N(O.join(n,`before.bpmn`),e),N(O.join(n,`after.bpmn`),t),(await C(O.join(n,`before.bpmn`),O.join(n,`after.bpmn`),!0)).summary?.lines??[]}finally{M(n,{recursive:!0,force:!0})}}async function H(n,r,i={}){let a=j(n,`utf8`),o=y(n,a),s;try{s=d(r,o)}catch(e){return{ok:!1,applied:[],lines:[e instanceof Error?e.message:String(e),t(`app.cli.nothingWritten`)]}}let c=new Set(await B(a)),l=e=>{let t=e.filter(e=>!c.has(e));return t.filter(z).length*1e3+t.filter(e=>!z(e)).length},f=await L.open(a,o,b(n)),p=[],m;try{for(let e of s)p.push(await f.apply(e,l));m=await f.save()}catch(e){let n=e instanceof u?e.message:t(`app.cli.edit.editorRefused`,{reason:e instanceof Error?e.message:String(e)});return{ok:!1,applied:[],lines:[t(`app.cli.edit.operationFailed`,{number:p.length+1,message:n}),t(`app.cli.nothingWritten`)]}}finally{f.dispose()}let h=await L.open(m,o),g=h.importWarnings;h.dispose();let _=await L.open(a,o),S=_.importWarnings;if(_.dispose(),g>S)return{ok:!1,applied:p,lines:[t(`app.cli.edit.didNotReadBack`),t(`app.cli.nothingWritten`)]};let C=(await B(m)).filter(e=>!c.has(e)),w=C.filter(z),T=C.filter(e=>!z(e)),E=w.length>0&&!i.force;if(!i.dryRun&&!E){if(j(n,`utf8`)!==a)return{ok:!1,applied:p,lines:[t(`app.cli.edit.changedWhileEditing`),t(`app.cli.nothingWritten`)]};e(n,m)}let D=[...p,``,...(await V(a,m)).map(e=>` ${e}`),``,w.length===0?t(`app.cli.edit.nothingBroken`):t(`app.cli.edit.breaksTheDrawing`,{problems:x(w.length,`app.cli.edit.count.newProblem`)}),...w.map(e=>` ${e}`),...T.length>0?[t(`app.cli.edit.readsLessWell`,{things:x(T.length,`app.cli.edit.count.thing`)}),...T.map(e=>` ${e}`)]:[],i.dryRun?t(`app.cli.edit.dryRun`,{file:v(n)}):t(E?`app.cli.edit.wouldBreak`:`app.cli.wrote`,{file:v(n)})];return{ok:!E,applied:p,xml:m,lines:D}}async function U(e){let t=j(e,`utf8`),n=y(e,t),r=await L.open(await S(t),n);try{return{engine:n,elements:r.describe()}}finally{r.dispose()}}async function W(e,r){let{engine:i,elements:a}=await U(e);if(r)return{ok:!0,lines:[JSON.stringify({file:v(e),engine:i,elements:a},null,2)]};let o=a.map(e=>({type:e.type,id:e.id,name:e.name??``,flow:e.source&&e.target?`${e.source} -> ${e.target}`:``})),s=n(o,{columns:[{name:`type`,header:t(`app.cli.header.type`),minWidth:16},{name:`id`,header:t(`app.cli.header.id`),minWidth:14},{name:`name`,header:t(`app.cli.header.name`)},{name:`flow`,header:t(`app.cli.header.flow`)}]});return{ok:!0,lines:[`${v(e)} (${i})`,``,...s]}}function G(e){let t=j(e,`utf8`);return{ok:!0,lines:[JSON.stringify(s(y(e,t)),null,2)]}}function K(e,t,n){let r=Object.hasOwn(g[e],t)?g[e][t].kind:void 0;return r===`boolean`?n===`true`||n!==`false`&&n:r===`integer`&&/^\d+$/.test(n)?Number(n):n}function q(e,n){return e.map(e=>{let r=e.indexOf(`=`);if(r<=0)throw new u(t(`app.cli.edit.mustLookLikePairs`,{where:n,entry:e}));return[e.slice(0,r),e.slice(r+1)]})}function J(e,n){let[r,...i]=n.words,a=()=>{let t=[...i.slice(r===`set`?1:i.length),...n.options(`set`)],a=Object.fromEntries(q(t,`--set`).map(([t,n])=>[t,K(e,t,n)])),o=q(n.options(`input`),`--input`),s=q(n.options(`output`),`--output`);return o.length>0&&(a.inputs=Object.fromEntries(o)),s.length>0&&(a.outputs=Object.fromEntries(s)),Object.keys(a).length>0?a:void 0},o=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0));switch(r){case`add`:return o({op:`add`,element:i[0],after:n.option(`after`),event:n.option(`event`),name:n.option(`name`),id:n.option(`id`),properties:a()});case`connect`:return o({op:`connect`,from:i[0],to:i[1],name:n.option(`name`),condition:n.option(`condition`)});case`set`:return{op:`set`,id:i[0],properties:a()??{}};case`remove`:return{op:`remove`,id:i[0]};default:throw new u(t(`app.cli.edit.sayWhatToDo`))}}export{G as a,J as i,H as n,W as o,U as r,R as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./chunk-atomicWrite-C6J1gDtO.js";import{r as t}from"./chunk-translator-BAjzyPKE.js";import{n,t as r}from"./chunk-status-X9Ny-Nu8.js";import{t as i}from"./chunk-table-B2WTbpMl.js";import{At as a,Dt as o,Mt as s,Nt as c,Ot as l,fn as u,kt as d,mn as f,nt as p,rt as m,tt as h,un as g,xn as _,yn as v}from"./chunk-src-CxTpK8wk.js";import{a as y}from"./chunk-moddle-Dlk0NR-u.js";import{i as b,t as x}from"./chunk-workerVariables-BnLSud8o.js";import{n as S,r as C}from"./chunk-docs-CY6ICsip.js";import{a as ee,n as w,r as T,s as te}from"./chunk-failure-BK7fu4Yo.js";import{r as E,t as D}from"./chunk-context-B-5CZFAT.js";import{n as ne,r as re,t as O}from"./chunk-report-CtkTRSGT.js";import{t as k}from"./chunk-rules-CoJAmvwu.js";import{t as A}from"./chunk-plural-Di3FH8HP.js";import{t as j}from"./chunk-placeholderLayout-B18ekWmh.js";import{a as M,c as N,i as ie}from"./chunk-codeLinks-DW721PAt.js";import P from"node:path";import{tmpdir as ae}from"node:os";import{existsSync as F,mkdtempSync as I,readFileSync as L,rmSync as R}from"node:fs";const z=`penstock-baseline.json`,B=`penstock-migration-baseline.json`;function V(e){return e.replace(/\\/g,`/`)}function H(e,t){return V(P.isAbsolute(t)?P.relative(e,t):t)}function U(e,t,n=!1){return`${n?V(t.file):H(e,t.file)}::${t.rule}::${t.message}`}function W(e,n){let r;try{r=JSON.parse(L(e,`utf8`))}catch(e){throw Error(t(`app.output.notValid`,{file:n,what:`JSON`,reason:_(v(e))}))}let i=r?.findings;if(!Array.isArray(i))throw Error(t(`app.output.notValid`,{file:n,what:`baseline`,reason:`it has no list of findings.`}));return i.filter(e=>typeof e?.file==`string`&&typeof e.rule==`string`&&typeof e.message==`string`)}function G(e,t,n=z){let r=P.join(e,n);if(!F(r))return{fresh:t,known:[],fixed:[]};let i=W(r,n),a=new Set(i.map(t=>U(e,t,!0))),o=new Set(t.map(t=>U(e,t)));return{fresh:t.filter(t=>!a.has(U(e,t))),known:t.filter(t=>a.has(U(e,t))),fixed:[...a].filter(e=>!o.has(e))}}function K(t,n,r=z){let i=P.join(t,r),a={generated:(/* @__PURE__ */ new Date()).toISOString(),findings:n.map(e=>({file:H(t,e.file),rule:e.rule,message:e.message})).sort((e,t)=>`${e.file}${e.rule}${e.message}`.localeCompare(`${t.file}${t.rule}${t.message}`))};return e(i,`${JSON.stringify(a,null,2)}\n`),i}async function q(){return import(`./chunk-diagram-CIy-F5iz.js`)}const J=[`drawing`,`rules`,`flow`,`variables`];function oe(e){if(e===void 0)return{sections:J};let t=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),n=[],r;for(let e of t)J.includes(e)?n.push(e):r===void 0&&(r=e);return{sections:n,unknown:r}}const Y=/\.bpmn(\.xml|20\.xml)?$/i,se=/\.form$/i;async function ce(e){let n=/* @__PURE__ */ new Map,r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=e=>{for(let t of e??[]){if(!t?.id)continue;let e=typeof t.name==`string`?t.name.trim():``;e&&n.set(t.id,e),r.set(t.id,h(String(t.$type??``))),t.sourceRef&&t.targetRef&&i.set(t.id,[t.sourceRef.id,t.targetRef.id]),a(t.flowElements)}};try{let t=await y(L(e,`utf8`));for(let e of t?.rootElements??[]){e.id&&n.set(e.id,typeof e.name==`string`&&e.name.trim()||``);for(let t of e.participants??[])t.id&&t.name&&n.set(t.id,String(t.name).trim()),a(t.processRef?.flowElements);a(e.flowElements)}}catch{return e=>e}let o=e=>n.get(e)||(r.get(e)?t(`app.rules.drawing.theElement`,{type:r.get(e)}):e);return e=>{let r=n.get(e);if(r)return r;let a=i.get(e);return a?t(`app.rules.drawing.theConnection`,{from:o(a[0]),to:o(a[1])}):o(e)}}async function X(e){let t=L(e,`utf8`);if(!j(t)&&await y(t))return[];let{measureDiagram:n}=await q(),r=await n(e,{asAuthored:!0}),i=await ce(e);return r.defects.map(t=>{let n=t.elements??[];return O(`drawing`,{file:e,rule:t.kind,message:t.detail,severity:C(`drawing`,t.kind)?.severity===`warning`?`warning`:`error`,title:p(`drawing`,t.kind),...n.length>0?{where:m(n.map(i)),elements:n}:{}})})}const Z={error:0,warning:1,note:2};function le(e){let t=e.elements??[],n=t.length>0?` (${t.join(`, `)})`:``,i=e.message.endsWith(n)&&n?e.message.slice(0,-n.length):e.message,a=e.title?`${e.title}${e.where?` - ${e.where}`:``}`:i;return[` ${r(e.severity).padEnd(7)} ${a}`,` ${` `.repeat(7)} ${e.ruleId??e.rule}${t.length>0?` ${t.join(`, `)}`:``}`]}function ue(e,n){let r=!1;try{r=L(e,`utf8`).trim()===``}catch{r=!1}let i=g(e),a=ee(n);return{file:e,rule:`file-unreadable`,message:w(n)?T(e):a===null?r?t(`app.output.theFileIsEmpty`):t(`app.output.notValidFile`,{what:i,reason:_(v(n))}):`${e}: ${a}`,severity:`error`}}async function Q(e,t){let{ruleFindings:r}=await import(`./chunk-lint-Df2davEY.js`),{flowFindings:i,unreadableDmn:a}=await import(`./chunk-analyze-CCZJQpbU.js`),{allows:o,upsell:s}=await import(`./chunk-features-Dq1Gvqp3.js`),{currentLicense:l}=await import(`./chunk-license-Cvnp1Aee.js`),u=new Set(t.sections??J),d=await l(),f=t.flowAllowed??o(d),p=t.variablesAllowed??o(d),m=[],h=/* @__PURE__ */ new Map,g=[],_=[],v=0,y=!1;for(let t of e){let e=[];try{if(Y.test(t)&&u.has(`drawing`)&&e.push(...await X(t)),Y.test(t)&&u.has(`rules`)&&e.push(...await r(t)),u.has(`flow`)){let n=/\.dmn$/i.test(t)?await a(t):null;n?e.push(n):f||se.test(t)?e.push(...await i(t)):y=!0}if(Y.test(t)&&u.has(`variables`)){let n=D(t).values,r=c(n);r.mode!==`off`&&p?e.push(...await fe(t,r,h)):r.mode!==`off`&&typeof n.variables?.check==`string`&&m.length===0&&await de(t,h)&&m.push(...s(d,`variable-checks`))}}catch(n){e.splice(0,e.length,ue(t,n))}let o=e.filter(e=>e.elements&&e.title),l=k(e.filter(e=>!(e.elements&&e.title)).map(e=>({...e,elements:e.elements??[]})),o.map(e=>({kind:e.rule,elements:e.elements??[]})));e.splice(0,e.length,...[...o,...l].sort((e,t)=>Z[e.severity]-Z[t.severity])),g.push(...e);let b=e.filter(e=>e.severity===`error`);if(e.length===0)_.push(`${n(`ok`).padEnd(5)} ${E(t)}`);else{b.length>0&&(v+=1),_.push(`${(b.length>0?n(`fail`):n(`note`)).padEnd(5)} ${E(t)}`);for(let t of e.slice(0,40))_.push(...le(t))}}let b=e.length>0?D(e[0]).root:process.cwd(),x=t.baseline?G(b,g):null;return{findings:g,reported:x?x.fresh:g,comparison:x,failed:v,flowSkipped:y,offer:m,lines:_,root:b}}function $(e,t){let n=D(e),r=t.get(n.root);if(r)return r;let i=[n.root,...M(n.root,ie(n.values))].flatMap(e=>N(e)).map(e=>({path:e,text:L(e,`utf8`)}));return t.set(n.root,i),i}async function de(e,t){let n=L(e,`utf8`),r=await u(e,n);if(r.workers.length===0)return!1;let i=r.workers.map(e=>({kind:e.kind===`JAVA_CLASS`?`CLASS`:e.kind,value:e.value,elementId:e.elementId}));return(await x($(e,t),i)).fetches.length>0}async function fe(e,t,n){let r=L(e,`utf8`),i=await u(e,r);if(i.workers.length===0)return[];let c=await y(r),m=i.workers.map(e=>({kind:e.kind===`JAVA_CLASS`?`CLASS`:e.kind,value:e.value,elementId:e.elementId})),h=await x($(e,n),m),g=s({model:b(i,h),definitions:c,order:f(c),types:h.types??[],inputs:t.inputs,linked:new Set(h.fetches.map(e=>e.elementId)),mode:t.mode,entitled:!0});return[...g.fields.map(t=>O(`code`,{file:e,rule:`variable-field`,message:o(t),severity:`warning`,title:p(`code`,`variable-field`),where:l(t),elements:[t.elementId]})),...g.names.map(t=>O(`code`,{file:e,rule:`variable-unknown`,message:d(t.name),severity:`warning`,title:p(`code`,`variable-unknown`),where:a(),elements:[t.elementId]}))]}async function pe(e,n){let r=await Q(e,n),i=[...r.lines];if(r.offer.length>0&&n.format===`text`&&i.push(``,...r.offer),n.format===`text`&&r.findings.some(e=>e.docs)&&i.push(``,t(`app.output.everyRuleHasAPage`,{url:S})),r.flowSkipped&&n.format===`text`&&i.push(``,t(`app.output.flowAnalysisLeftOut`)),n.updateBaseline){let e=K(r.root,r.findings);return{ok:!0,lines:[t(`app.output.wroteFindings`,{file:E(e),findings:A(r.findings.length,`app.output.count.finding`)})]}}let a=r.comparison?r.reported.some(e=>e.severity===`error`):r.failed>0;if(n.format===`sarif`)return{ok:!a,refused:!1,lines:[re(r.reported,`check`)]};if(n.format===`github`)return{ok:!a,refused:!1,lines:ne(r.reported)};if(n.format===`json`)return{ok:!a,refused:!1,lines:[JSON.stringify(r.reported,null,2)]};if(r.comparison){let e=[r.reported.length>0?t(`app.output.newFindings`,{count:r.reported.length}):t(`app.output.nothingNew`),t(`app.output.accepted`,{count:r.comparison.known.length}),r.comparison.fixed.length>0?t(`app.output.fixedSinceTheBaseline`,{count:r.comparison.fixed.length}):``].filter(Boolean);i.push(``,e.join(`, `)),r.comparison.fixed.length>0&&i.push(t(`app.output.runUpdateBaseline`))}return{ok:!a,refused:!1,lines:i}}async function me(e,r){let{measureDiagram:a}=await q(),o=[],s=0,c=0,l=r?``:I(P.join(ae(),`penstock-layout-`));try{for(let[i,u]of e.entries()){let e=r?u:P.join(l,`${i}.bpmn`),d,f;try{d=L(u,`utf8`),await a(u,{outPath:e}),f=L(e,`utf8`)}catch(e){c+=1,o.push({status:n(`fail`),file:E(u),details:te(E(u),e)});continue}f===d?o.push({status:n(`same`),file:E(u),details:t(`app.output.noChange`)}):(s+=1,o.push({status:n(r?`wrote`:`change`),file:E(u),details:t(r?`app.output.reflowedLayout`:`app.output.wouldReflowLayout`)}))}}finally{l&&R(l,{recursive:!0,force:!0})}let u=i(o,{columns:[{name:`status`,header:t(`app.cli.header.status`),minWidth:6},{name:`file`,header:t(`app.cli.header.file`),minWidth:24},{name:`details`,header:t(`app.cli.header.details`)}]});return!r&&s>0&&u.push(``,t(`app.output.layoutAlwaysReflows`)),{ok:c===0,refused:!1,lines:u}}export{oe as a,K as c,me as i,pe as n,B as o,Q as r,G as s,J as t};
@@ -1,4 +1,4 @@
1
- import{r as e}from"./chunk-translator-BFUJmSkR.js";import{r as t}from"./chunk-commands-CeRlfHY-.js";import{t as n}from"./chunk-diff-D1m_eKvv.js";import r from"node:path";const i=`<!-- penstock-report -->`;function a(e){return e.map(e=>`- ${e}`).join(`
1
+ import{r as e}from"./chunk-translator-BAjzyPKE.js";import{r as t}from"./chunk-commands-CMEkVxle.js";import{t as n}from"./chunk-diff-BJ2sJwcs.js";import r from"node:path";const i=`<!-- penstock-report -->`;function a(e){return e.map(e=>`- ${e}`).join(`
2
2
  `)}async function o(o){let s=[i,e(`app.cli.report.heading`),``];if(o.changed.length===0&&o.removed.length===0)return s.push(e(`app.cli.report.nothingChanged`)),{markdown:`${s.join(`
3
3
  `)}\n`,clean:!0};o.removed.length>0&&s.push(e(`app.cli.report.removed`),``,a(o.removed),``);let c=new Map(o.changed.map(e=>[e.after,e.relative])),l=(await t(o.changed.map(e=>e.after),{format:`json`,baseline:!0,updateBaseline:!1})).reported;if(s.push(e(`app.cli.report.check`),``),l.length===0)s.push(e(`app.cli.report.cleanAgainstTheBaseline`),``);else{let e=/* @__PURE__ */ new Map;for(let t of l){let n=c.get(t.file)??r.basename(t.file);e.set(n,[...e.get(n)??[],`\`${t.rule}\` ${t.message}`])}for(let[t,n]of e)s.push(`**${t}**`,``,a(n),``)}let u=/* @__PURE__ */ new Map;s.push(e(`app.cli.report.whatChanged`),``);for(let t of o.changed){if(!t.before){s.push(`**${t.relative}** - ${e(`app.cli.report.newFile`)}`,``);continue}let r=await n(t.before,t.after,!0);if(!r.ok){s.push(`**${t.relative}**`,``,a(r.lines),``);continue}let i=r.summary?.lines??[];r.summary&&u.set(t.relative,r.summary.markersAfter),s.push(`**${t.relative}**`,``,i.length>0?a(i):e(`app.cli.report.onlyTheDrawingMoved`),``)}let d=[];for(let e of o.changed){let t=await o.picture(e,u.get(e.relative)??{});t&&d.push({relative:e.relative,url:t})}if(s.push(e(`app.cli.report.howItLooks`),``),d.length===0&&o.picturesLink)s.push(e(`app.cli.report.thePicturesLink`,{link:o.picturesLink}),``);else if(d.length===0)s.push(e(`app.cli.report.noPictures`),``);else{s.push(e(`app.cli.report.outlined`),``);for(let e of d)s.push(`**${e.relative}**`,``,`![${e.relative}](${e.url})`,``)}return{markdown:`${s.join(`
4
4
  `)}\n`,clean:l.length===0}}export{o as n,i as t};
@@ -1 +1 @@
1
- import{f as e}from"./chunk-license-x3oHbKe2.js";import{r as t}from"./chunk-translator-BFUJmSkR.js";import{t as n}from"./chunk-table-CJtiXv0e.js";import{a as r,i,n as a,o,r as s,t as c}from"./chunk-connectors-eXPldvkc.js";import l from"node:path";import{closeSync as u,constants as d,lstatSync as f,mkdirSync as p,openSync as m,readFileSync as h,readdirSync as g,realpathSync as _,renameSync as v,rmSync as y,writeFileSync as b}from"node:fs";import x from"node:http";const S=/^[A-Za-z0-9._-]{1,128}$/,C=d.O_NOFOLLOW??0;let w=!1;function T(){if(w)return;w=!0;let e=process.env;if(!(e.HTTPS_PROXY||e.https_proxy||e.HTTP_PROXY||e.http_proxy))return;let t=x.setGlobalProxyFromEnv;typeof t==`function`&&t.call(x)}async function E(e,t){let n=e.body?.getReader();if(!n)return/* @__PURE__ */ new Uint8Array;let r=[],i=0;for(;;){let{done:e,value:a}=await n.read();if(e)break;if(i+=a.byteLength,i>t)return await n.cancel().catch(()=>void 0),null;r.push(a)}let a=new Uint8Array(i),o=0;for(let e of r)a.set(e,o),o+=e.byteLength;return a}function D(e){return{status:0,body:/* @__PURE__ */ new Uint8Array,failure:e}}function O(n,r=fetch,i=2e4){let a=l.join(n??e(process.env),`connectors`);function o(){return p(a,{recursive:!0}),_(a)}function x(e,t){return t===e||t.startsWith(e+l.sep)}function w(e){let n=e.split(`/`);if(n.length>16||n.some(e=>!S.test(e)||e===`.`||e===`..`))throw Error(t(`app.cli.connectors.notInside`,{path:e}));let r=o(),i=r;for(let a of n){i=l.join(i,a);let n=f(i,{throwIfNoEntry:!1});if(!n)break;if(n.isSymbolicLink())throw Error(t(`app.cli.connectors.linkAt`,{path:e}));if(!x(r,_(i)))throw Error(t(`app.cli.connectors.notInside`,{path:e}))}return l.join(r,...n)}function O(e){let n=o(),r=n;for(let i of l.relative(n,e).split(l.sep).filter(Boolean)){r=l.join(r,i);let e=f(r,{throwIfNoEntry:!1});if(e?.isSymbolicLink())throw Error(t(`app.cli.connectors.holdsALink`));if(!e)p(r);else if(!e.isDirectory())throw Error(t(`app.cli.connectors.fileInTheWay`))}}function k(e){return{entries:f(e,{throwIfNoEntry:!1})?.isDirectory()?g(e).sort():[]}}function A(e){let n=f(e,{throwIfNoEntry:!1});if(!n?.isFile())return{content:null};if(n.size>67108864)throw Error(t(`app.cli.connectors.tooLarge`));let r=m(e,d.O_RDONLY|C);try{return{content:h(r)}}finally{u(r)}}function j(e,n){let r=n??/* @__PURE__ */ new Uint8Array;if(r.byteLength>67108864)throw Error(t(`app.cli.connectors.contentTooLarge`));if(f(e,{throwIfNoEntry:!1})?.isDirectory())throw Error(t(`app.cli.connectors.directoryInTheWay`));O(l.dirname(e));let i=m(e,d.O_WRONLY|d.O_CREAT|d.O_TRUNC|C,420);try{b(i,r)}finally{u(i)}return{}}function M(e,n){if(!f(e,{throwIfNoEntry:!1}))throw Error(t(`app.cli.connectors.nothingToMove`));if(f(n,{throwIfNoEntry:!1}))throw Error(t(`app.cli.connectors.destinationExists`));return O(l.dirname(n)),v(e,n),{}}return{async fetch(e){if(!s(e))throw Error(t(`app.cli.connectors.notACatalogueUrl`,{url:e}));T();let n;try{n=await r(e,{redirect:`manual`,headers:{"User-Agent":`Penstock CLI`},signal:AbortSignal.timeout(i)})}catch(e){let n=e.cause?.message;return D(n??(e instanceof Error?e.message:t(`app.cli.connectors.githubUnreachable`)))}if(n.status>=300&&n.status<400)return await n.body?.cancel().catch(()=>void 0),D(t(`app.cli.connectors.redirect`));if(Number(n.headers.get(`content-length`)??0)>67108864)return await n.body?.cancel().catch(()=>void 0),D(t(`app.cli.connectors.responseTooLarge`));try{let e=await E(n,c);return e?{status:n.status,body:e}:D(t(`app.cli.connectors.responseTooLarge`))}catch(e){return D(e instanceof Error?e.message:t(`app.cli.connectors.interrupted`))}},async file(e,n,r,i){if(n===``){if(e!==`list`)throw Error(t(`app.cli.connectors.listOnly`));return k(o())}let a=w(n);switch(e){case`exists`:return{pathExists:f(a,{throwIfNoEntry:!1})!==void 0};case`read`:return A(a);case`write`:return j(a,r);case`delete`:return y(a,{recursive:!0,force:!0}),{};case`list`:return k(a);case`mkdirs`:return O(a),{};case`rename`:if(!i)throw Error(t(`app.cli.connectors.renameNeedsTarget`));return M(a,w(i));default:throw Error(t(`app.cli.connectors.unknownOperation`,{operation:String(e)}))}}}}async function k(e,s,c=O()){if(e[0]===`resolve`){if(!e[1])return{ok:!1,lines:[t(`app.cli.connectors.resolveUsage`)]};if(e[2]!==void 0&&!Number.isInteger(Number(e[2])))return{ok:!1,lines:[t(`app.cli.connectors.notAVersion`,{version:e[2]})]}}let{catalog:l,error:u,nextAttempt:d}=await a(c,{forceRefresh:s.has(`--refresh`)});if(!l)return{ok:!1,lines:[t(`app.cli.connectors.downloadFailed`,{reason:u??t(`app.cli.connectors.unknownReason`),when:d?t(`app.cli.connectors.retriedAfter`,{when:d}):``})]};let f=u?[t(`app.cli.connectors.usingOlder`,{ref:l.ref,reason:u})]:[];if(e[0]===`resolve`){let n=e[1],a=e[2]===void 0?void 0:Number(e[2]),s=a===void 0?r(l,n):o(l,n,a);if(!s){let e=a===void 0?n:t(`app.cli.connectors.idVersion`,{id:n,version:a});return{ok:!1,lines:[...f,t(`app.cli.connectors.noTemplate`,{which:e,ref:l.ref})]}}let u=await i(c,s);return u?{ok:!0,lines:[...f,JSON.stringify(u,null,2)]}:{ok:!1,lines:[...f,t(`app.cli.connectors.cacheMissing`,{id:s.id})]}}let p=[...f,t(`app.cli.connectors.summary`,{ref:l.ref,current:l.newest.length,older:l.templates.length})],m=n(l.newest,{columns:[{name:`name`,header:t(`app.cli.header.name`)},{name:`id`,header:t(`app.cli.header.id`)},{name:`version`,header:t(`app.cli.header.version`),value:e=>e.version===null?``:`v${e.version}`},{name:`elementType`,header:t(`app.cli.header.type`),value:e=>e.elementType??``},{name:`engine`,header:t(`app.cli.header.engine`),value:e=>e.engines?.camunda?`Camunda ${e.engines.camunda}`:``}]});return{ok:!0,lines:[...p,``,...m]}}export{k as connectorsCommand};
1
+ import{f as e}from"./chunk-license-DU4P8P8A.js";import{r as t}from"./chunk-translator-BAjzyPKE.js";import{t as n}from"./chunk-table-B2WTbpMl.js";import{a as r,i,n as a,o,r as s,t as c}from"./chunk-connectors-UpMjbdpU.js";import l from"node:path";import{closeSync as u,constants as d,lstatSync as f,mkdirSync as p,openSync as m,readFileSync as h,readdirSync as g,realpathSync as _,renameSync as v,rmSync as y,writeFileSync as b}from"node:fs";import x from"node:http";const S=/^[A-Za-z0-9._-]{1,128}$/,C=d.O_NOFOLLOW??0;let w=!1;function T(){if(w)return;w=!0;let e=process.env;if(!(e.HTTPS_PROXY||e.https_proxy||e.HTTP_PROXY||e.http_proxy))return;let t=x.setGlobalProxyFromEnv;typeof t==`function`&&t.call(x)}async function E(e,t){let n=e.body?.getReader();if(!n)return/* @__PURE__ */ new Uint8Array;let r=[],i=0;for(;;){let{done:e,value:a}=await n.read();if(e)break;if(i+=a.byteLength,i>t)return await n.cancel().catch(()=>void 0),null;r.push(a)}let a=new Uint8Array(i),o=0;for(let e of r)a.set(e,o),o+=e.byteLength;return a}function D(e){return{status:0,body:/* @__PURE__ */ new Uint8Array,failure:e}}function O(n,r=fetch,i=2e4){let a=l.join(n??e(process.env),`connectors`);function o(){return p(a,{recursive:!0}),_(a)}function x(e,t){return t===e||t.startsWith(e+l.sep)}function w(e){let n=e.split(`/`);if(n.length>16||n.some(e=>!S.test(e)||e===`.`||e===`..`))throw Error(t(`app.cli.connectors.notInside`,{path:e}));let r=o(),i=r;for(let a of n){i=l.join(i,a);let n=f(i,{throwIfNoEntry:!1});if(!n)break;if(n.isSymbolicLink())throw Error(t(`app.cli.connectors.linkAt`,{path:e}));if(!x(r,_(i)))throw Error(t(`app.cli.connectors.notInside`,{path:e}))}return l.join(r,...n)}function O(e){let n=o(),r=n;for(let i of l.relative(n,e).split(l.sep).filter(Boolean)){r=l.join(r,i);let e=f(r,{throwIfNoEntry:!1});if(e?.isSymbolicLink())throw Error(t(`app.cli.connectors.holdsALink`));if(!e)p(r);else if(!e.isDirectory())throw Error(t(`app.cli.connectors.fileInTheWay`))}}function k(e){return{entries:f(e,{throwIfNoEntry:!1})?.isDirectory()?g(e).sort():[]}}function A(e){let n=f(e,{throwIfNoEntry:!1});if(!n?.isFile())return{content:null};if(n.size>67108864)throw Error(t(`app.cli.connectors.tooLarge`));let r=m(e,d.O_RDONLY|C);try{return{content:h(r)}}finally{u(r)}}function j(e,n){let r=n??/* @__PURE__ */ new Uint8Array;if(r.byteLength>67108864)throw Error(t(`app.cli.connectors.contentTooLarge`));if(f(e,{throwIfNoEntry:!1})?.isDirectory())throw Error(t(`app.cli.connectors.directoryInTheWay`));O(l.dirname(e));let i=m(e,d.O_WRONLY|d.O_CREAT|d.O_TRUNC|C,420);try{b(i,r)}finally{u(i)}return{}}function M(e,n){if(!f(e,{throwIfNoEntry:!1}))throw Error(t(`app.cli.connectors.nothingToMove`));if(f(n,{throwIfNoEntry:!1}))throw Error(t(`app.cli.connectors.destinationExists`));return O(l.dirname(n)),v(e,n),{}}return{async fetch(e){if(!s(e))throw Error(t(`app.cli.connectors.notACatalogueUrl`,{url:e}));T();let n;try{n=await r(e,{redirect:`manual`,headers:{"User-Agent":`Penstock CLI`},signal:AbortSignal.timeout(i)})}catch(e){let n=e.cause?.message;return D(n??(e instanceof Error?e.message:t(`app.cli.connectors.githubUnreachable`)))}if(n.status>=300&&n.status<400)return await n.body?.cancel().catch(()=>void 0),D(t(`app.cli.connectors.redirect`));if(Number(n.headers.get(`content-length`)??0)>67108864)return await n.body?.cancel().catch(()=>void 0),D(t(`app.cli.connectors.responseTooLarge`));try{let e=await E(n,c);return e?{status:n.status,body:e}:D(t(`app.cli.connectors.responseTooLarge`))}catch(e){return D(e instanceof Error?e.message:t(`app.cli.connectors.interrupted`))}},async file(e,n,r,i){if(n===``){if(e!==`list`)throw Error(t(`app.cli.connectors.listOnly`));return k(o())}let a=w(n);switch(e){case`exists`:return{pathExists:f(a,{throwIfNoEntry:!1})!==void 0};case`read`:return A(a);case`write`:return j(a,r);case`delete`:return y(a,{recursive:!0,force:!0}),{};case`list`:return k(a);case`mkdirs`:return O(a),{};case`rename`:if(!i)throw Error(t(`app.cli.connectors.renameNeedsTarget`));return M(a,w(i));default:throw Error(t(`app.cli.connectors.unknownOperation`,{operation:String(e)}))}}}}async function k(e,s,c=O()){if(e[0]===`resolve`){if(!e[1])return{ok:!1,lines:[t(`app.cli.connectors.resolveUsage`)]};if(e[2]!==void 0&&!Number.isInteger(Number(e[2])))return{ok:!1,lines:[t(`app.cli.connectors.notAVersion`,{version:e[2]})]}}let{catalog:l,error:u,nextAttempt:d}=await a(c,{forceRefresh:s.has(`--refresh`)});if(!l)return{ok:!1,lines:[t(`app.cli.connectors.downloadFailed`,{reason:u??t(`app.cli.connectors.unknownReason`),when:d?t(`app.cli.connectors.retriedAfter`,{when:d}):``})]};let f=u?[t(`app.cli.connectors.usingOlder`,{ref:l.ref,reason:u})]:[];if(e[0]===`resolve`){let n=e[1],a=e[2]===void 0?void 0:Number(e[2]),s=a===void 0?r(l,n):o(l,n,a);if(!s){let e=a===void 0?n:t(`app.cli.connectors.idVersion`,{id:n,version:a});return{ok:!1,lines:[...f,t(`app.cli.connectors.noTemplate`,{which:e,ref:l.ref})]}}let u=await i(c,s);return u?{ok:!0,lines:[...f,JSON.stringify(u,null,2)]}:{ok:!1,lines:[...f,t(`app.cli.connectors.cacheMissing`,{id:s.id})]}}let p=[...f,t(`app.cli.connectors.summary`,{ref:l.ref,current:l.newest.length,older:l.templates.length})],m=n(l.newest,{columns:[{name:`name`,header:t(`app.cli.header.name`)},{name:`id`,header:t(`app.cli.header.id`)},{name:`version`,header:t(`app.cli.header.version`),value:e=>e.version===null?``:`v${e.version}`},{name:`elementType`,header:t(`app.cli.header.type`),value:e=>e.elementType??``},{name:`engine`,header:t(`app.cli.header.engine`),value:e=>e.engines?.camunda?`Camunda ${e.engines.camunda}`:``}]});return{ok:!0,lines:[...p,``,...m]}}export{k as connectorsCommand};
@@ -1,2 +1,2 @@
1
- import{r as e}from"./chunk-translator-BFUJmSkR.js";const t=67108864,n=/^https:\/\/codeload\.github\.com\/camunda\/connectors\/tar\.gz\/refs\/tags\/[A-Za-z0-9_-][A-Za-z0-9._-]{0,127}$/,r=/^[A-Za-z0-9_-][A-Za-z0-9._-]{0,127}$/,i=/^[A-Za-z0-9._-]+$/,a=/^(\d+)\.(\d+)\.(\d+)$/,o=/^[A-Za-z0-9_-][A-Za-z0-9._-]{0,127}$/,s=/^[^/]+\/(connectors\/(?:[^/]+\/)+element-templates\/(?:[^/]+\/)*[^/]+\.json)$/,c=/* @__PURE__ */ new Set([`src`,`test`,`tests`,`test-resources`,`testdata`,`fixtures`]),l=/^data:image\/(?:png|jpe?g|gif|webp|svg\+xml|x-icon|vnd\.microsoft\.icon)[;,]/i,u=/^\.tmp-(.+)-(\d{13})-[a-z0-9]+$/,d=36e5,f=24*d,p=`.index.json`,m=`.state.json`,h=new TextDecoder,g=new TextEncoder;function _(e){return e===`https://api.github.com/repos/camunda/connectors/releases?per_page=100`||n.test(e)}function v(e){if(!r.test(e))throw Error(`Not a release tag: ${e}`);return`https://codeload.github.com/camunda/connectors/tar.gz/refs/tags/${e}`}function y(e){if(!Array.isArray(e))throw Error(`GitHub did not return a list of releases`);let t=null;for(let n of e){if(!n||typeof n!=`object`)continue;let{tag_name:e,draft:r,prerelease:o}=n;if(r!==!1||o!==!1||typeof e!=`string`||!i.test(e))continue;let s=a.exec(e);if(!s)continue;let c=s.slice(1).map(Number);(!t||b(c,t.parts)>0)&&(t={tag:e,parts:c})}if(!t)throw Error(`GitHub lists no final camunda/connectors release`);return t.tag}function b(e,t){for(let n=0;n<Math.max(e.length,t.length);n++){let r=(e[n]??0)-(t[n]??0);if(r!==0)return r}return 0}function x(e){let t=s.exec(e);if(!t)return null;let n=t[1];return n.split(`/`).some(e=>!o.test(e)||c.has(e.toLowerCase()))?null:n}function S(e,t){if(!e)return null;let n=Date.parse(e);return Number.isNaN(n)||n>t+6e4?null:n}function C(e){return e<=1?d:f}function w(e,t){let n=S(e.checkedAt,t),r=S(e.failedAt,t);return r!==null&&e.failures>0&&(n===null||r>=n)?t-r>=C(e.failures):n===null||t-n>=f}function T(e,t){let n=S(e.failedAt,t);return n===null||e.failures===0?null:new Date(n+C(e.failures)).toISOString()}const E={ref:null,previousRef:null,checkedAt:null,failedAt:null,failures:0,lastError:null};function D(e){return typeof e==`string`?e:null}function O(e){return typeof e==`string`&&r.test(e)?e:null}async function ee(e){try{let t=(await e.file(`read`,m)).content;if(!t)return{...E};let n=JSON.parse(h.decode(t));return{ref:O(n.ref),previousRef:O(n.previousRef),checkedAt:D(n.checkedAt),failedAt:D(n.failedAt),failures:typeof n.failures==`number`&&Number.isInteger(n.failures)&&n.failures>0?n.failures:0,lastError:D(n.lastError)}}catch{return{...E}}}async function k(e,t){await e.file(`write`,m,g.encode(JSON.stringify(t,null,2)))}function A(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!(typeof t.id!=`string`||!t.id||t.id.length>256||typeof t.name!=`string`||!t.name||t.version!==void 0&&!(Number.isInteger(t.version)&&t.version>=0)||t.appliesTo!==void 0&&!(Array.isArray(t.appliesTo)&&t.appliesTo.every(e=>typeof e==`string`)))}function j(e){try{let t=JSON.parse(h.decode(e));return(Array.isArray(t)?t:[t]).filter(A)}catch{return[]}}function M(e){return(typeof e.elementType==`string`?e.elementType:e.elementType?.value)||(e.appliesTo??[]).join(`|`)}function N(e,t,n){return`${e}@${t??`_`}#${n}`}function P(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function F(e,t,n){let r=e.version??null,i=typeof e.elementType?.value==`string`?e.elementType.value:null,a={},o=e.engines,s=typeof o==`object`&&o&&!Array.isArray(o)?o:{};for(let[e,t]of Object.entries(s))typeof t==`string`&&(a[e]=t);let c=e.icon?.contents,u=e.documentationRef;return{key:N(e.id,r,M(e)),ref:n,path:t,id:e.id,version:r,name:e.name,description:typeof e.description==`string`?e.description:null,appliesTo:P(e.appliesTo),elementType:i,engines:a,category:typeof e.category?.name==`string`?e.category.name:null,keywords:[.../* @__PURE__ */ new Set([...P(e.keywords),...P(e.metadata?.keywords)])],icon:typeof c==`string`&&c.length<=262144&&l.test(c)?c:null,documentationRef:typeof u==`string`&&u.startsWith(`https://`)?u:null,deprecated:e.deprecated!==void 0&&e.deprecated!==!1,deprecatedMessage:typeof e.deprecated==`object`&&e.deprecated!==null&&typeof e.deprecated.message==`string`?e.deprecated.message:null}}function te(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.key==`string`&&typeof t.id==`string`&&typeof t.name==`string`&&typeof t.path==`string`&&x(`x/${t.path}`)===t.path&&Array.isArray(t.appliesTo)&&Array.isArray(t.keywords)}async function I(e,t){if(!r.test(t))return null;try{let n=(await e.file(`read`,`${t}/${p}`)).content;if(!n)return null;let r=JSON.parse(h.decode(n));if(r.format!==2||r.ref!==t||!Array.isArray(r.templates))return null;let i=r.templates.filter(te).map(e=>({...e,ref:t}));return i.length>0?i:null}catch{return null}}function L(e){let t=/* @__PURE__ */ new Map;for(let n of e){let e=`${n.id}#${M(n)}`,r=t.get(e);(!r||(r.version??-1)<(n.version??-1))&&t.set(e,n)}return[...t.values()].sort((e,t)=>e.name.localeCompare(t.name)||(e.elementType??``).localeCompare(t.elementType??``))}function R(e,t,n){return{ref:e,checkedAt:n,templates:t,newest:L(t)}}let z=/* @__PURE__ */ new WeakMap,B=/* @__PURE__ */ new WeakMap;async function V(e,t){if(!t.ref)return null;let n=z.get(e);if(n&&n.ref===t.ref)return n;let r=await I(e,t.ref);if(!r)return null;let i=R(t.ref,r,t.checkedAt);return z.set(e,i),i}function H(e){return e instanceof Error?e.message:String(e)}async function U(t,n){let r=await t.fetch(n);if(r.failure)throw Error(r.failure);if(r.status===403||r.status===429)throw Error(e(`app.connectors.githubRefused`,{status:r.status}));if(r.status!==200)throw Error(e(`app.connectors.githubAnswered`,{status:r.status}));if(r.body.byteLength>67108864)throw Error(e(`app.connectors.responseTooLarge`));return r.body}async function*W(t,n){let r=new ReadableStream({start(e){e.enqueue(t),e.close()}}).pipeThrough(new DecompressionStream(`gzip`)).getReader(),i=0;try{for(;;){let t;try{t=await r.read()}catch{throw Error(e(`app.connectors.archiveDamaged`))}if(t.done)return;if(i+=t.value.byteLength,i>n)throw Error(e(`app.connectors.archiveTooLarge`));yield t.value}}finally{await r.cancel().catch(()=>void 0)}}var G=class{chunks=[];offset=0;length=0;push(e){e.byteLength!==0&&(this.chunks.push(e),this.length+=e.byteLength)}take(e){let t=new Uint8Array(e),n=0;for(;n<e;){let r=this.chunks[0],i=r.byteLength-this.offset,a=Math.min(i,e-n);t.set(r.subarray(this.offset,this.offset+a),n),n+=a,this.consume(a,i)}return t}drop(e){let t=0;for(;t<e&&this.chunks.length>0;){let n=this.chunks[0].byteLength-this.offset,r=Math.min(n,e-t);t+=r,this.consume(r,n)}return t}consume(e,t){this.length-=e,e===t?(this.chunks.shift(),this.offset=0):this.offset+=e}};function K(e,t,n){let r=e.subarray(t,t+n),i=r.indexOf(0);return h.decode(i<0?r:r.subarray(0,i))}function q(e,t,n){let r=K(e,t,n).trim();return/^[0-7]+$/.test(r)?parseInt(r,8):NaN}function J(e){let t=0;for(let n=0;n<512;n++)t+=n>=148&&n<156?32:e[n];return q(e,148,8)===t}function Y(e){let t=null;for(let n of h.decode(e).split(`
1
+ import{r as e}from"./chunk-translator-BAjzyPKE.js";const t=67108864,n=/^https:\/\/codeload\.github\.com\/camunda\/connectors\/tar\.gz\/refs\/tags\/[A-Za-z0-9_-][A-Za-z0-9._-]{0,127}$/,r=/^[A-Za-z0-9_-][A-Za-z0-9._-]{0,127}$/,i=/^[A-Za-z0-9._-]+$/,a=/^(\d+)\.(\d+)\.(\d+)$/,o=/^[A-Za-z0-9_-][A-Za-z0-9._-]{0,127}$/,s=/^[^/]+\/(connectors\/(?:[^/]+\/)+element-templates\/(?:[^/]+\/)*[^/]+\.json)$/,c=/* @__PURE__ */ new Set([`src`,`test`,`tests`,`test-resources`,`testdata`,`fixtures`]),l=/^data:image\/(?:png|jpe?g|gif|webp|svg\+xml|x-icon|vnd\.microsoft\.icon)[;,]/i,u=/^\.tmp-(.+)-(\d{13})-[a-z0-9]+$/,d=36e5,f=24*d,p=`.index.json`,m=`.state.json`,h=new TextDecoder,g=new TextEncoder;function _(e){return e===`https://api.github.com/repos/camunda/connectors/releases?per_page=100`||n.test(e)}function v(e){if(!r.test(e))throw Error(`Not a release tag: ${e}`);return`https://codeload.github.com/camunda/connectors/tar.gz/refs/tags/${e}`}function y(e){if(!Array.isArray(e))throw Error(`GitHub did not return a list of releases`);let t=null;for(let n of e){if(!n||typeof n!=`object`)continue;let{tag_name:e,draft:r,prerelease:o}=n;if(r!==!1||o!==!1||typeof e!=`string`||!i.test(e))continue;let s=a.exec(e);if(!s)continue;let c=s.slice(1).map(Number);(!t||b(c,t.parts)>0)&&(t={tag:e,parts:c})}if(!t)throw Error(`GitHub lists no final camunda/connectors release`);return t.tag}function b(e,t){for(let n=0;n<Math.max(e.length,t.length);n++){let r=(e[n]??0)-(t[n]??0);if(r!==0)return r}return 0}function x(e){let t=s.exec(e);if(!t)return null;let n=t[1];return n.split(`/`).some(e=>!o.test(e)||c.has(e.toLowerCase()))?null:n}function S(e,t){if(!e)return null;let n=Date.parse(e);return Number.isNaN(n)||n>t+6e4?null:n}function C(e){return e<=1?d:f}function w(e,t){let n=S(e.checkedAt,t),r=S(e.failedAt,t);return r!==null&&e.failures>0&&(n===null||r>=n)?t-r>=C(e.failures):n===null||t-n>=f}function T(e,t){let n=S(e.failedAt,t);return n===null||e.failures===0?null:new Date(n+C(e.failures)).toISOString()}const E={ref:null,previousRef:null,checkedAt:null,failedAt:null,failures:0,lastError:null};function D(e){return typeof e==`string`?e:null}function O(e){return typeof e==`string`&&r.test(e)?e:null}async function ee(e){try{let t=(await e.file(`read`,m)).content;if(!t)return{...E};let n=JSON.parse(h.decode(t));return{ref:O(n.ref),previousRef:O(n.previousRef),checkedAt:D(n.checkedAt),failedAt:D(n.failedAt),failures:typeof n.failures==`number`&&Number.isInteger(n.failures)&&n.failures>0?n.failures:0,lastError:D(n.lastError)}}catch{return{...E}}}async function k(e,t){await e.file(`write`,m,g.encode(JSON.stringify(t,null,2)))}function A(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return!(typeof t.id!=`string`||!t.id||t.id.length>256||typeof t.name!=`string`||!t.name||t.version!==void 0&&!(Number.isInteger(t.version)&&t.version>=0)||t.appliesTo!==void 0&&!(Array.isArray(t.appliesTo)&&t.appliesTo.every(e=>typeof e==`string`)))}function j(e){try{let t=JSON.parse(h.decode(e));return(Array.isArray(t)?t:[t]).filter(A)}catch{return[]}}function M(e){return(typeof e.elementType==`string`?e.elementType:e.elementType?.value)||(e.appliesTo??[]).join(`|`)}function N(e,t,n){return`${e}@${t??`_`}#${n}`}function P(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function F(e,t,n){let r=e.version??null,i=typeof e.elementType?.value==`string`?e.elementType.value:null,a={},o=e.engines,s=typeof o==`object`&&o&&!Array.isArray(o)?o:{};for(let[e,t]of Object.entries(s))typeof t==`string`&&(a[e]=t);let c=e.icon?.contents,u=e.documentationRef;return{key:N(e.id,r,M(e)),ref:n,path:t,id:e.id,version:r,name:e.name,description:typeof e.description==`string`?e.description:null,appliesTo:P(e.appliesTo),elementType:i,engines:a,category:typeof e.category?.name==`string`?e.category.name:null,keywords:[.../* @__PURE__ */ new Set([...P(e.keywords),...P(e.metadata?.keywords)])],icon:typeof c==`string`&&c.length<=262144&&l.test(c)?c:null,documentationRef:typeof u==`string`&&u.startsWith(`https://`)?u:null,deprecated:e.deprecated!==void 0&&e.deprecated!==!1,deprecatedMessage:typeof e.deprecated==`object`&&e.deprecated!==null&&typeof e.deprecated.message==`string`?e.deprecated.message:null}}function te(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.key==`string`&&typeof t.id==`string`&&typeof t.name==`string`&&typeof t.path==`string`&&x(`x/${t.path}`)===t.path&&Array.isArray(t.appliesTo)&&Array.isArray(t.keywords)}async function I(e,t){if(!r.test(t))return null;try{let n=(await e.file(`read`,`${t}/${p}`)).content;if(!n)return null;let r=JSON.parse(h.decode(n));if(r.format!==2||r.ref!==t||!Array.isArray(r.templates))return null;let i=r.templates.filter(te).map(e=>({...e,ref:t}));return i.length>0?i:null}catch{return null}}function L(e){let t=/* @__PURE__ */ new Map;for(let n of e){let e=`${n.id}#${M(n)}`,r=t.get(e);(!r||(r.version??-1)<(n.version??-1))&&t.set(e,n)}return[...t.values()].sort((e,t)=>e.name.localeCompare(t.name)||(e.elementType??``).localeCompare(t.elementType??``))}function R(e,t,n){return{ref:e,checkedAt:n,templates:t,newest:L(t)}}let z=/* @__PURE__ */ new WeakMap,B=/* @__PURE__ */ new WeakMap;async function V(e,t){if(!t.ref)return null;let n=z.get(e);if(n&&n.ref===t.ref)return n;let r=await I(e,t.ref);if(!r)return null;let i=R(t.ref,r,t.checkedAt);return z.set(e,i),i}function H(e){return e instanceof Error?e.message:String(e)}async function U(t,n){let r=await t.fetch(n);if(r.failure)throw Error(r.failure);if(r.status===403||r.status===429)throw Error(e(`app.connectors.githubRefused`,{status:r.status}));if(r.status!==200)throw Error(e(`app.connectors.githubAnswered`,{status:r.status}));if(r.body.byteLength>67108864)throw Error(e(`app.connectors.responseTooLarge`));return r.body}async function*W(t,n){let r=new ReadableStream({start(e){e.enqueue(t),e.close()}}).pipeThrough(new DecompressionStream(`gzip`)).getReader(),i=0;try{for(;;){let t;try{t=await r.read()}catch{throw Error(e(`app.connectors.archiveDamaged`))}if(t.done)return;if(i+=t.value.byteLength,i>n)throw Error(e(`app.connectors.archiveTooLarge`));yield t.value}}finally{await r.cancel().catch(()=>void 0)}}var G=class{chunks=[];offset=0;length=0;push(e){e.byteLength!==0&&(this.chunks.push(e),this.length+=e.byteLength)}take(e){let t=new Uint8Array(e),n=0;for(;n<e;){let r=this.chunks[0],i=r.byteLength-this.offset,a=Math.min(i,e-n);t.set(r.subarray(this.offset,this.offset+a),n),n+=a,this.consume(a,i)}return t}drop(e){let t=0;for(;t<e&&this.chunks.length>0;){let n=this.chunks[0].byteLength-this.offset,r=Math.min(n,e-t);t+=r,this.consume(r,n)}return t}consume(e,t){this.length-=e,e===t?(this.chunks.shift(),this.offset=0):this.offset+=e}};function K(e,t,n){let r=e.subarray(t,t+n),i=r.indexOf(0);return h.decode(i<0?r:r.subarray(0,i))}function q(e,t,n){let r=K(e,t,n).trim();return/^[0-7]+$/.test(r)?parseInt(r,8):NaN}function J(e){let t=0;for(let n=0;n<512;n++)t+=n>=148&&n<156?32:e[n];return q(e,148,8)===t}function Y(e){let t=null;for(let n of h.decode(e).split(`
2
2
  `)){let e=/^\d+ path=(.*)$/.exec(n);e&&(t=e[1])}return t}async function*X(t,n){let r=t[Symbol.asyncIterator](),i=new G,a=()=>Error(e(`app.connectors.archiveDamaged`)),o=async e=>{for(;i.length<e;){let e=await r.next();if(e.done)return!1;i.push(e.value)}return!0},s=async e=>{let t=e;for(;t>0;){if(i.length===0&&!await o(1))throw a();t-=i.drop(t)}},c=async e=>{if(!await o(e))throw a();return i.take(e)},l=null;try{for(;;){if(!await o(512))throw a();let e=i.take(512);if(e.every(e=>e===0))return;if(!J(e))throw a();let t=q(e,124,12);if(!Number.isSafeInteger(t))throw a();let r=Math.ceil(t/512)*512,u=String.fromCharCode(e[156]);if(u===`x`||u===`L`){if(t>1048576)throw a();let e=await c(t);l=u===`x`?Y(e)??l:h.decode(e).replace(/\0.*$/s,``),await s(r-t);continue}if(u===`g`){await s(r);continue}let d=K(e,345,155),f=K(e,0,100),p=l??(d?`${d}/${f}`:f);if(l=null,(u===`0`||u===`\0`||u===`7`)&&t<=8388608&&n(p)){let e=await c(t);await s(r-t),yield{path:p,data:e}}else await s(r)}}finally{await r.return?.(void 0)}}async function Z(e,t){return(await e.file(`exists`,t)).pathExists===!0}async function ne(e,t,n){try{await e.file(`rename`,t,void 0,n);return}catch(r){if(await I(e,n)){await e.file(`delete`,t).catch(()=>void 0);return}if(!await Z(e,n))throw r}await e.file(`delete`,n),await e.file(`rename`,t,void 0,n)}async function re(t,n,r){let i=await U(t,v(n)),a=`.tmp-${n}-${r()}-${Math.random().toString(36).slice(2,10)||`x`}`;await t.file(`mkdirs`,a);try{let r=/* @__PURE__ */ new Map,o=X(W(i,536870912),e=>x(e)!==null);for await(let e of o){let i=x(e.path),o=j(e.data);if(i&&o.length!==0){await t.file(`write`,`${a}/${i}`,e.data);for(let e of o){let t=F(e,i,n);r.has(t.key)||r.set(t.key,t)}}}if(r.size===0)throw Error(e(`app.connectors.archiveHasNoTemplates`));let s=[...r.values()],c={format:2,ref:n,templates:s.map(e=>({...e,ref:void 0}))};return await t.file(`write`,`${a}/${p}`,g.encode(JSON.stringify(c))),await ne(t,a,n),s}catch(e){throw await t.file(`delete`,a).catch(()=>void 0),e}}async function ie(e,t,n){let i=(await e.file(`list`,``)).entries??[];for(let a of i){let i=u.exec(a);(a.startsWith(`.tmp-`)?!i||n-Number(i[2])>d:!a.startsWith(`.`)&&r.test(a)&&a!==t.ref&&a!==t.previousRef)&&await e.file(`delete`,a).catch(()=>void 0)}}async function ae(e,t,n){let r=await U(e,`https://api.github.com/repos/camunda/connectors/releases?per_page=100`),i;try{i=JSON.parse(h.decode(r))}catch{throw Error(`GitHub returned something that is not JSON`)}let a=y(i),o=await I(e,a)??await re(e,a,n),s=t.previousRef===a?null:t.previousRef;t.ref&&t.ref!==a&&(s=t.ref);let c={ref:a,previousRef:s,checkedAt:new Date(n()).toISOString(),failedAt:null,failures:0,lastError:null};await k(e,c),await ie(e,c,n()).catch(()=>void 0);let l=R(a,o,c.checkedAt);return z.set(e,l),l}async function oe(t,n,r){let i=await ee(t);if(!n&&!w(i,r())){let n=await V(t,i);if(n)return{catalog:n,error:null,nextAttempt:null};if(i.failures>0)return{catalog:null,error:i.lastError??e(`app.connectors.couldNotBeDownloaded`),nextAttempt:T(i,r())}}try{return{catalog:await ae(t,i,r),error:null,nextAttempt:null}}catch(e){let n={...i,failedAt:new Date(r()).toISOString(),failures:i.failures+1,lastError:H(e)};return await k(t,n).catch(()=>void 0),{catalog:await V(t,i).catch(()=>null),error:n.lastError,nextAttempt:T(n,r())}}}function se(e,t={}){let n=B.get(e);if(n)return n;let r=oe(e,t.forceRefresh===!0,t.now??Date.now).finally(()=>{B.get(e)===r&&B.delete(e)});return B.set(e,r),r}function Q(e,t){return e.length===0?null:t?e.find(e=>e.elementType===t)??e.find(e=>e.appliesTo.includes(t))??e[0]:e[0]}function ce(e,t,n,r){return Q(e.templates.filter(e=>e.id===t&&e.version===n),r)}function le(e,t,n){return Q(e.newest.filter(e=>e.id===t),n)}async function $(e,t){if(!r.test(t.ref)||x(`x/${t.path}`)!==t.path)return null;let n=(await e.file(`read`,`${t.ref}/${t.path}`)).content;return n?j(n).find(e=>N(e.id,e.version??null,M(e))===t.key)??null:null}export{le as a,$ as i,se as n,ce as o,_ as r,t};
@@ -1 +1 @@
1
- import{s as e}from"./chunk-load-BVJUBU5S.js";import t from"node:path";import{existsSync as n,realpathSync as r}from"node:fs";const i=/* @__PURE__ */ new Map;function a(n){let r=t.resolve(n),a=i.get(r);if(a)return a;let o=e(r);return i.set(r,o),o}function o(e){let i=n(e)?r(e):e,a=t.relative(r(process.cwd()),i);return a&&!a.startsWith(`..`)?a:e}function s(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function c(e){return typeof e==`string`&&e.trim()?e.trim():void 0}function l(e,t,n){let r=/* @__PURE__ */ new Map;for(let i of e){let e=t(i),a=r.get(e)??{key:n(i),files:[]};a.files.push(i),r.set(e,a)}return r}export{c as a,s as i,l as n,o as r,a as t};
1
+ import{s as e}from"./chunk-load-CRmIvn7e.js";import t from"node:path";import{existsSync as n,realpathSync as r}from"node:fs";const i=/* @__PURE__ */ new Map;function a(n){let r=t.resolve(n),a=i.get(r);if(a)return a;let o=e(r);return i.set(r,o),o}function o(e){let i=n(e)?r(e):e,a=t.relative(r(process.cwd()),i);return a&&!a.startsWith(`..`)?a:e}function s(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function c(e){return typeof e==`string`&&e.trim()?e.trim():void 0}function l(e,t,n){let r=/* @__PURE__ */ new Map;for(let i of e){let e=t(i),a=r.get(e)??{key:n(i),files:[]};a.files.push(i),r.set(e,a)}return r}export{c as a,s as i,l as n,o as r,a as t};
@@ -1 +1 @@
1
- import{t as e}from"./chunk-atomicWrite-C6J1gDtO.js";import{r as t}from"./chunk-translator-BFUJmSkR.js";import{n}from"./chunk-status-DgeSOz3A.js";import{t as r}from"./chunk-table-CJtiXv0e.js";import{_ as i,f as a,n as o,r as s}from"./chunk-engine-CxgdJ2wO.js";import{s as c}from"./chunk-failure-BsimkHy_.js";import{r as l}from"./chunk-context-DPJmldqg.js";import{readFileSync as u}from"node:fs";const d=a(`camunda-7`),f=a(`operaton`),p=[[s[`camunda-7`].bpmn,s.operaton.bpmn],[s[`camunda-7`].dmn,s.operaton.dmn]],m=`${i(`operaton`)}.`,h=[...new Set(o.map(e=>`${i(e)}.`))],g=new RegExp(String.raw`(<${d}:[^>]*[^/]>)([^<]*)(</${d}:)`,`g`),_=new RegExp(String.raw`(^</?|\s)${d}:(?=[A-Za-z])`,`g`),v=RegExp(`xmlns:${d}=`,`g`);function y(e){return h.reduce((e,t)=>e.split(t).join(m),e)}function b(e){return p.some(([t])=>e.includes(`xmlns:${d}="${t}"`))?p.reduce((e,[t,n])=>e.split(t).join(n),e.replace(g,(e,t,n,r)=>`${t}${y(n)}${r}`)).replace(/<[^>]*>/g,e=>y(e).replace(_,`$1${f}:`).replace(v,`xmlns:${f}=`)):e}async function x(i,a,o){if(a===void 0)return{ok:!1,lines:[t(`app.cli.convert.targetMissing`)]};if(a!==`operaton`)return{ok:!1,lines:[t(`app.cli.convert.unknownTarget`,{target:a})]};let s=[],d=!1;for(let r of i){let i;try{i=u(r,`utf8`)}catch(e){d=!0,s.push({status:n(`fail`),file:l(r),details:c(l(r),e)});continue}let a=b(i);a===i?s.push({status:n(`skip`),file:l(r),details:t(`app.cli.convert.unchanged`)}):o?(e(r,a),s.push({status:n(`updated`),file:l(r),details:t(`app.cli.convert.changed`)})):s.push({status:n(`skip`),file:l(r),details:t(`app.cli.convert.wouldChange`)})}let f=r(s,{columns:[{name:`status`,minWidth:8},{name:`file`},{name:`details`,wrap:!0}],headers:!1});return{ok:!d,lines:f}}export{x as convertCommand};
1
+ import{t as e}from"./chunk-atomicWrite-C6J1gDtO.js";import{r as t}from"./chunk-translator-BAjzyPKE.js";import{n}from"./chunk-status-X9Ny-Nu8.js";import{t as r}from"./chunk-table-B2WTbpMl.js";import{_ as i,f as a,n as o,r as s}from"./chunk-engine-CxgdJ2wO.js";import{s as c}from"./chunk-failure-BK7fu4Yo.js";import{r as l}from"./chunk-context-B-5CZFAT.js";import{readFileSync as u}from"node:fs";const d=a(`camunda-7`),f=a(`operaton`),p=[[s[`camunda-7`].bpmn,s.operaton.bpmn],[s[`camunda-7`].dmn,s.operaton.dmn]],m=`${i(`operaton`)}.`,h=[...new Set(o.map(e=>`${i(e)}.`))],g=new RegExp(String.raw`(<${d}:[^>]*[^/]>)([^<]*)(</${d}:)`,`g`),_=new RegExp(String.raw`(^</?|\s)${d}:(?=[A-Za-z])`,`g`),v=RegExp(`xmlns:${d}=`,`g`);function y(e){return h.reduce((e,t)=>e.split(t).join(m),e)}function b(e){return p.some(([t])=>e.includes(`xmlns:${d}="${t}"`))?p.reduce((e,[t,n])=>e.split(t).join(n),e.replace(g,(e,t,n,r)=>`${t}${y(n)}${r}`)).replace(/<[^>]*>/g,e=>y(e).replace(_,`$1${f}:`).replace(v,`xmlns:${f}=`)):e}async function x(i,a,o){if(a===void 0)return{ok:!1,lines:[t(`app.cli.convert.targetMissing`)]};if(a!==`operaton`)return{ok:!1,lines:[t(`app.cli.convert.unknownTarget`,{target:a})]};let s=[],d=!1;for(let r of i){let i;try{i=u(r,`utf8`)}catch(e){d=!0,s.push({status:n(`fail`),file:l(r),details:c(l(r),e)});continue}let a=b(i);a===i?s.push({status:n(`skip`),file:l(r),details:t(`app.cli.convert.unchanged`)}):o?(e(r,a),s.push({status:n(`updated`),file:l(r),details:t(`app.cli.convert.changed`)})):s.push({status:n(`skip`),file:l(r),details:t(`app.cli.convert.wouldChange`)})}let f=r(s,{columns:[{name:`status`,minWidth:8},{name:`file`},{name:`details`,wrap:!0}],headers:!1});return{ok:!d,lines:f}}export{x as convertCommand};
@@ -0,0 +1 @@
1
+ export{s as deployCommand}from"./chunk-deploy-Clj9f2y-.js";
@@ -1,2 +1,2 @@
1
- import{r as e}from"./chunk-translator-BFUJmSkR.js";import{n as t}from"./chunk-status-DgeSOz3A.js";import{t as n}from"./chunk-table-CJtiXv0e.js";import{st as r,z as i}from"./chunk-src-BLyg_6UX.js";import{g as a,h as o,l as s,u as c}from"./chunk-engine-CxgdJ2wO.js";import{o as l}from"./chunk-failure-BsimkHy_.js";import{a as u,i as d,n as f,r as p,t as m}from"./chunk-context-DPJmldqg.js";import{t as h}from"./chunk-plural-Bq_4vgOr.js";import{t as g}from"./chunk-diagrams-6suPQBVQ.js";import{o as _}from"./chunk-tests-C3XJ9LMT.js";import v from"node:path";import{readFileSync as y}from"node:fs";function b(e){let t=m(e).values,n=d(t.deployment),r=u(n.url);return r?{engine:u(t.engine)??`camunda-7`,url:r.replace(/\/$/,``),name:u(n.name)??`Penstock deployment`,tenantId:u(n.tenantId),source:u(n.source)??`penstock`,changedOnly:n.changedOnly!==!1,forTests:n.forTests===!0,auth:d(n.auth)}:null}const x=15e3;async function S(t,n,r){let i=u(t.tokenUrl),a=u(t.clientId),o=n.PENSTOCK_CLIENT_SECRET;if(!i||!a||!o)throw Error(e(`app.output.authProblem.oauthNeedsKeys`));let s=new URLSearchParams({grant_type:`client_credentials`,client_id:a,client_secret:o}),c=u(t.audience);c&&s.set(`audience`,c);let d=AbortSignal.timeout(r),f,p;try{f=await fetch(i,{method:`POST`,body:s,signal:d}),p=await f.text()}catch(t){throw Error(e(`app.output.authProblem.oauthUnreachable`,{url:i,reason:l(t)}))}if(!f.ok)throw Error(e(`app.output.authProblem.oauthFailed`,{status:f.status,body:p.slice(0,300)}));let m=null;try{m=JSON.parse(p)}catch{m=null}let h=m?.access_token;if(typeof h!=`string`)throw Error(e(`app.output.authProblem.oauthNoToken`));return h}function C(t,n){let r=`password`in t?[e(`app.output.authNote.passwordNotRead`)]:[];if(n.PENSTOCK_TOKEN)return{problem:null,notes:r};let i=u(t.type)??`none`;if(i===`basic`){if(!u(t.username))return{problem:e(`app.output.authProblem.basicWithoutUsername`),notes:r};if(!n.PENSTOCK_PASSWORD)return{problem:e(`app.output.authProblem.basicWithoutPassword`),notes:r}}return i===`oauth`&&(!u(t.tokenUrl)||!u(t.clientId)||!n.PENSTOCK_CLIENT_SECRET)?{problem:e(`app.output.authProblem.oauthWithoutKeys`),notes:r}:{problem:null,notes:r}}function w(t){let n=u(t.type)??`none`;return e(n===`basic`?`app.output.authHint.basic`:n===`oauth`?`app.output.authHint.oauth`:`app.output.authHint.setIt`)}async function T(e,t,n=x){if(t.PENSTOCK_TOKEN)return{Authorization:`Bearer ${t.PENSTOCK_TOKEN}`};let r=u(e.type)??`none`;if(r===`basic`){let n=u(e.username)??``,r=t.PENSTOCK_PASSWORD??``;return{Authorization:`Basic ${Buffer.from(`${n}:${r}`).toString(`base64`)}`}}return r===`oauth`?{Authorization:`Bearer ${await S(e,t,n)}`}:{}}function E(e,t){let n=t.trim().replace(/\/+$/,``);return o(e)?n.endsWith(`/v2/deployments`)?n:n.endsWith(`/v2`)?`${n}/deployments`:`${n}/v2/deployments`:n.endsWith(`/deployment/create`)?n:`${n}/deployment/create`}function D(e){return E(e.engine,e.url).replace(o(e.engine)?/\/deployments$/:/\/deployment\/create$/,``)}function O(e){return s(e.engine)}function k(e){return{engine:O(e),name:e.name,source:e.source,tenantId:e.tenantId??null,changedOnly:e.changedOnly}}const A=2e3,j=3e4;function M(e,t=j){return async n=>{let r=await T(e.auth,process.env,t),i=n.body;if(n.parts){let e=new FormData;n.parts.forEach(t=>{t.filename?e.append(t.name,new Blob([t.content],{type:t.contentType}),t.filename):e.append(t.name,t.content)}),i=e}else n.body!==void 0&&(r[`Content-Type`]=`application/json`);try{let a=await fetch(`${D(e)}${n.path}`,{method:n.method,headers:r,body:i,signal:AbortSignal.timeout(t)}),o=await a.text();return{status:a.status,body:a.ok||o.length<=A?o:`${o.slice(0,A)}...`}}catch(e){return{status:0,body:l(e)}}}}async function N(e){let t=/* @__PURE__ */ new Map;for(let n of e)t.set(v.resolve(n),m(n).root);let n=/* @__PURE__ */ new Map;for(let e of new Set(t.values()))for(let t of[...g(e),..._(e)])n.set(v.resolve(t),{path:v.resolve(t),read:async()=>y(t,`utf8`)});let r=await i([...t.keys()].map(e=>({path:e,content:y(e,`utf8`)})),[...n.values()]),a=new Map(e.map(e=>[v.resolve(e),e]));return r.map(e=>a.get(e.path)??e.path)}function P(e){return{status:``,endpoint:``,files:``,target:``,details:e}}function F(e){return{...P(e),status:t(`note`)}}function I(t){return n(t,{columns:[{name:`status`,header:e(`app.cli.header.status`),minWidth:6},{name:`endpoint`,header:e(`app.cli.header.endpoint`)},{name:`files`,header:e(`app.cli.header.files`)},{name:`target`,header:e(`app.cli.header.target`)},{name:`details`,header:e(`app.cli.header.details`)}]})}async function L(n,i,o){let s=n.filter(e=>b(e)===null),l=n.filter(e=>{let t=b(e);return t!==null&&a(t.engine)}),u=n.filter(e=>{let t=b(e);return t!==null&&!a(t.engine)}),d=f(u,e=>{let t=b(e);return t?`${t.engine}|${t.url}|${t.name}|${t.tenantId??``}`:``},e=>b(e)),m=[],g=0;for(let n of s)m.push({status:t(`skip`),endpoint:``,files:p(n),target:``,details:e(`app.output.noDeploymentUrl`)});for(let n of l)m.push({status:t(`skip`),endpoint:``,files:p(n),target:``,details:e(`app.output.noDeployFor`,{engine:c(b(n)?.engine)})});for(let{key:n,files:a}of d.values()){let s=E(n.engine,n.url),c=await N(a),l=C(n.auth,process.env),u={endpoint:s,files:h(c.length,`app.output.count.file`),target:n.name},d=c.map(e=>p(e)).join(`, `);if(i){l.problem&&m.push(F(l.problem)),m.push(...l.notes.map(F)),m.push({status:t(`wouldSend`),...u,details:d});continue}if(l.problem){g+=1,m.push({status:t(`fail`),...u,details:l.problem},...l.notes.map(P));continue}let f=await r(k(n),c.map(e=>({name:v.basename(e),content:y(e,`utf8`)})),{ask:M(n),wait:o});if(f.status<200||f.status>=300){g+=1;let[r,...i]=f.message.split(`
1
+ import{r as e}from"./chunk-translator-BAjzyPKE.js";import{n as t}from"./chunk-status-X9Ny-Nu8.js";import{t as n}from"./chunk-table-B2WTbpMl.js";import{G as r,pt as i}from"./chunk-src-CxTpK8wk.js";import{g as a,h as o,l as s,u as c}from"./chunk-engine-CxgdJ2wO.js";import{o as l}from"./chunk-failure-BK7fu4Yo.js";import{a as u,i as d,n as f,r as p,t as m}from"./chunk-context-B-5CZFAT.js";import{t as h}from"./chunk-plural-Di3FH8HP.js";import{t as g}from"./chunk-diagrams-wnFsPOKv.js";import{o as _}from"./chunk-tests-DxL0JMtB.js";import v from"node:path";import{readFileSync as y}from"node:fs";function b(e){let t=m(e).values,n=d(t.deployment),r=u(n.url);return r?{engine:u(t.engine)??`camunda-7`,url:r.replace(/\/$/,``),name:u(n.name)??`Penstock deployment`,tenantId:u(n.tenantId),source:u(n.source)??`penstock`,changedOnly:n.changedOnly!==!1,forTests:n.forTests===!0,auth:d(n.auth)}:null}const x=15e3;async function S(t,n,r){let i=u(t.tokenUrl),a=u(t.clientId),o=n.PENSTOCK_CLIENT_SECRET;if(!i||!a||!o)throw Error(e(`app.output.authProblem.oauthNeedsKeys`));let s=new URLSearchParams({grant_type:`client_credentials`,client_id:a,client_secret:o}),c=u(t.audience);c&&s.set(`audience`,c);let d=AbortSignal.timeout(r),f,p;try{f=await fetch(i,{method:`POST`,body:s,signal:d}),p=await f.text()}catch(t){throw Error(e(`app.output.authProblem.oauthUnreachable`,{url:i,reason:l(t)}))}if(!f.ok)throw Error(e(`app.output.authProblem.oauthFailed`,{status:f.status,body:p.slice(0,300)}));let m=null;try{m=JSON.parse(p)}catch{m=null}let h=m?.access_token;if(typeof h!=`string`)throw Error(e(`app.output.authProblem.oauthNoToken`));return h}function C(t,n){let r=`password`in t?[e(`app.output.authNote.passwordNotRead`)]:[];if(n.PENSTOCK_TOKEN)return{problem:null,notes:r};let i=u(t.type)??`none`;if(i===`basic`){if(!u(t.username))return{problem:e(`app.output.authProblem.basicWithoutUsername`),notes:r};if(!n.PENSTOCK_PASSWORD)return{problem:e(`app.output.authProblem.basicWithoutPassword`),notes:r}}return i===`oauth`&&(!u(t.tokenUrl)||!u(t.clientId)||!n.PENSTOCK_CLIENT_SECRET)?{problem:e(`app.output.authProblem.oauthWithoutKeys`),notes:r}:{problem:null,notes:r}}function w(t){let n=u(t.type)??`none`;return e(n===`basic`?`app.output.authHint.basic`:n===`oauth`?`app.output.authHint.oauth`:`app.output.authHint.setIt`)}async function T(e,t,n=x){if(t.PENSTOCK_TOKEN)return{Authorization:`Bearer ${t.PENSTOCK_TOKEN}`};let r=u(e.type)??`none`;if(r===`basic`){let n=u(e.username)??``,r=t.PENSTOCK_PASSWORD??``;return{Authorization:`Basic ${Buffer.from(`${n}:${r}`).toString(`base64`)}`}}return r===`oauth`?{Authorization:`Bearer ${await S(e,t,n)}`}:{}}function E(e,t){let n=t.trim().replace(/\/+$/,``);return o(e)?n.endsWith(`/v2/deployments`)?n:n.endsWith(`/v2`)?`${n}/deployments`:`${n}/v2/deployments`:n.endsWith(`/deployment/create`)?n:`${n}/deployment/create`}function D(e){return E(e.engine,e.url).replace(o(e.engine)?/\/deployments$/:/\/deployment\/create$/,``)}function O(e){return s(e.engine)}function k(e){return{engine:O(e),name:e.name,source:e.source,tenantId:e.tenantId??null,changedOnly:e.changedOnly}}const A=2e3,j=3e4;function M(e,t=j){return async n=>{let r=await T(e.auth,process.env,t),i=n.body;if(n.parts){let e=new FormData;n.parts.forEach(t=>{t.filename?e.append(t.name,new Blob([t.content],{type:t.contentType}),t.filename):e.append(t.name,t.content)}),i=e}else n.body!==void 0&&(r[`Content-Type`]=`application/json`);try{let a=await fetch(`${D(e)}${n.path}`,{method:n.method,headers:r,body:i,signal:AbortSignal.timeout(t)}),o=await a.text();return{status:a.status,body:a.ok||o.length<=A?o:`${o.slice(0,A)}...`}}catch(e){return{status:0,body:l(e)}}}}async function N(e){let t=/* @__PURE__ */ new Map;for(let n of e)t.set(v.resolve(n),m(n).root);let n=/* @__PURE__ */ new Map;for(let e of new Set(t.values()))for(let t of[...g(e),..._(e)])n.set(v.resolve(t),{path:v.resolve(t),read:async()=>y(t,`utf8`)});let i=await r([...t.keys()].map(e=>({path:e,content:y(e,`utf8`)})),[...n.values()]),a=new Map(e.map(e=>[v.resolve(e),e]));return i.map(e=>a.get(e.path)??e.path)}function P(e){return{status:``,endpoint:``,files:``,target:``,details:e}}function F(e){return{...P(e),status:t(`note`)}}function I(t){return n(t,{columns:[{name:`status`,header:e(`app.cli.header.status`),minWidth:6},{name:`endpoint`,header:e(`app.cli.header.endpoint`)},{name:`files`,header:e(`app.cli.header.files`)},{name:`target`,header:e(`app.cli.header.target`)},{name:`details`,header:e(`app.cli.header.details`)}]})}async function L(n,r,o){let s=n.filter(e=>b(e)===null),l=n.filter(e=>{let t=b(e);return t!==null&&a(t.engine)}),u=n.filter(e=>{let t=b(e);return t!==null&&!a(t.engine)}),d=f(u,e=>{let t=b(e);return t?`${t.engine}|${t.url}|${t.name}|${t.tenantId??``}`:``},e=>b(e)),m=[],g=0;for(let n of s)m.push({status:t(`skip`),endpoint:``,files:p(n),target:``,details:e(`app.output.noDeploymentUrl`)});for(let n of l)m.push({status:t(`skip`),endpoint:``,files:p(n),target:``,details:e(`app.output.noDeployFor`,{engine:c(b(n)?.engine)})});for(let{key:n,files:a}of d.values()){let s=E(n.engine,n.url),c=await N(a),l=C(n.auth,process.env),u={endpoint:s,files:h(c.length,`app.output.count.file`),target:n.name},d=c.map(e=>p(e)).join(`, `);if(r){l.problem&&m.push(F(l.problem)),m.push(...l.notes.map(F)),m.push({status:t(`wouldSend`),...u,details:d});continue}if(l.problem){g+=1,m.push({status:t(`fail`),...u,details:l.problem},...l.notes.map(P));continue}let f=await i(k(n),c.map(e=>({name:v.basename(e),content:y(e,`utf8`)})),{ask:M(n),wait:o});if(f.status<200||f.status>=300){g+=1;let[r,...i]=f.message.split(`
2
2
  `);m.push({status:t(`fail`),...u,details:r},...i.map(P)),(f.status===401||f.status===403)&&m.push(P(e(`app.output.credentialsRefused`,{hint:w(n.auth)})))}else m.push({status:t(`sent`),...u,details:d},...[...f.lines,...l.notes].map(P)),f.ok||(g+=1)}let _=m.length>0?I(m):[];return u.length===0?{ok:!1,lines:[..._,e(`app.output.nothingToDeploy`)]}:{ok:g===0,refused:!1,lines:_}}export{T as a,E as c,b as d,C as i,O as l,x as n,w as o,M as r,L as s,j as t,N as u};
@@ -0,0 +1 @@
1
+ import{t as e}from"./chunk-diagramDefects-DlVCfZci.js";import{a as t,i as n,n as r,r as i,t as a}from"./chunk-diagram-DYoeuAJx.js";export{a as applyPlan,r as buildDiagram,e as defectTotal,i as loadDiagram,n as measureDiagram,t as measureRegion};