@kern0x1b/penstock-cli 26.11.1 → 26.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD-PARTY-NOTICES.md +16 -16
- package/dist/chunk-account-BaYNvO18.js +1 -0
- package/dist/{chunk-agentLaunch-D21uPuMr.js → chunk-agentLaunch-BnrpVME4.js} +1 -1
- package/dist/chunk-agentServe-BeOh1rjE.js +10 -0
- package/dist/chunk-agents-CZJoU2u2.js +1 -0
- package/dist/chunk-agentsMigrate-DnrqoXNz.js +2 -0
- package/dist/{chunk-analyze-BG-rlggA.js → chunk-analyze-ClE2LBCj.js} +1 -1
- package/dist/chunk-analyze-DgQqzEgb.js +1 -0
- package/dist/{chunk-analyzeFlow-2cYPgjh-.js → chunk-analyzeFlow-F2ZFmJhv.js} +1 -1
- package/dist/chunk-apiTemplates-Cl_z63FA.js +1 -0
- package/dist/{chunk-bot-DlhStBoG.js → chunk-bot-C2k8yaXA.js} +5 -5
- package/dist/chunk-cmmnFindings-DKpYqUZN.js +1 -0
- package/dist/{chunk-codeFactSet-LxSnQy8K.js → chunk-codeFactSet-DiAYqvbb.js} +1 -1
- package/dist/{chunk-codeIndex-N1gnP_sW.js → chunk-codeIndex-vStNh6Bm.js} +1 -1
- package/dist/chunk-codeLinks-BVpn4_Sr.js +1 -0
- package/dist/chunk-codeLinks-BrGduhsm.js +1 -0
- package/dist/chunk-command-8s6m3ZUw.js +5 -0
- package/dist/chunk-command-aMxPQdiV.js +1 -0
- package/dist/chunk-command-vH1_y5F0.js +1 -0
- package/dist/chunk-commands-B8YVT41b.js +5 -0
- package/dist/{chunk-commands-DcjlDt7B.js → chunk-commands-CJCSznbv.js} +1 -1
- package/dist/chunk-compose-BUJTvoFX.js +4 -0
- package/dist/chunk-connections-Drr67X9U.js +1 -0
- package/dist/chunk-connectors-DcMqy0u8.js +1 -0
- package/dist/chunk-convert-Ce1MZmsE.js +3 -0
- package/dist/chunk-convert-FkMnlxyi.js +1 -0
- package/dist/chunk-deploy-BHg8pB9x.js +1 -0
- package/dist/chunk-deploy-DZgCTgaY.js +6 -0
- package/dist/{chunk-diagrams-BukAOL0g.js → chunk-diagrams-CtGMGTa8.js} +1 -1
- package/dist/chunk-diff-9hjavV6V.js +1 -0
- package/dist/chunk-diff-Dp3fUALc.js +1 -0
- package/dist/chunk-dispatch-o-eqJb9Y.js +7 -0
- package/dist/chunk-dmnTests-BOxutoRs.js +1 -0
- package/dist/{chunk-dmnTests-ChwX1YVo.js → chunk-dmnTests-BzNA-u2k.js} +1 -1
- package/dist/{chunk-docs-D7yEDpa4.js → chunk-docs-B3C3pZpY.js} +17 -17
- package/dist/chunk-doctor-CRxbsAm7.js +1 -0
- package/dist/{chunk-editPreview-CC2vwhIW.js → chunk-editPreview-DCUnMkTU.js} +1 -1
- package/dist/chunk-evidence-ny_2ltVe.js +23 -0
- package/dist/{chunk-examples-0HkF-frb.js → chunk-examples-BG0lGXcZ.js} +9 -9
- package/dist/chunk-export-Blwjf23H.js +1 -0
- package/dist/chunk-export-kt3sBTZu.js +20 -0
- package/dist/{chunk-facts-DSVaURw5.js → chunk-facts-Dl5lLriU.js} +1 -1
- package/dist/chunk-failure-BRyRvObj.js +1 -0
- package/dist/{chunk-file-BswMa3FN.js → chunk-file-1YhfNmPn.js} +1 -1
- package/dist/chunk-import-Dh3az4BC.js +6 -0
- package/dist/chunk-importCommand-Dhikkmo0.js +1 -0
- package/dist/chunk-incident-LJe2-ohi.js +1 -0
- package/dist/chunk-init-D34Q4YA8.js +227 -0
- package/dist/chunk-lint-CnEhoYRB.js +1 -0
- package/dist/{chunk-lsp-7vA_mIt1.js → chunk-lsp-BzeJkpmf.js} +1 -1
- package/dist/chunk-main-BZF-ErAx.js +1 -0
- package/dist/chunk-mcp-B_B9bet5.js +95 -0
- package/dist/{chunk-mcpLaunch-LyfmIF_Z.js → chunk-mcpLaunch-BS709697.js} +1 -1
- package/dist/chunk-migrate-DVfXC-iJ.js +1 -0
- package/dist/chunk-migrate-DwWg0k5_.js +16 -0
- package/dist/{chunk-migrateApply-CzOkgKhB.js → chunk-migrateApply-e8O9oZXP.js} +3 -3
- package/dist/chunk-migrateVerify-oIBf-PM3.js +1 -0
- package/dist/{chunk-model-f8AzYUK7.js → chunk-model-BulEKnY1.js} +2 -2
- package/dist/{chunk-parse-B-uKGDy-.js → chunk-parse-DiOcpdOU.js} +1 -1
- package/dist/{chunk-penstockCli-CKMvaZ0O.js → chunk-penstockCli-C41P_G7i.js} +1 -1
- package/dist/chunk-policy-BVb7c7G_.js +1 -0
- package/dist/chunk-policyGate-BOgKsqLq.js +2 -0
- package/dist/chunk-pr-1jKcTNnP.js +1 -0
- package/dist/{chunk-project-DBYOlYRi.js → chunk-project-COaBZhMt.js} +1 -1
- package/dist/chunk-project-lO_6DX8G.js +1 -0
- package/dist/chunk-promotion-CTMPjXjZ.js +2 -0
- package/dist/chunk-promotion-DDLrgBqZ.js +1 -0
- package/dist/{chunk-promotion-DchO6xoC.js → chunk-promotion-NeRj4uTP.js} +1 -1
- package/dist/chunk-receipt-C4NqnSkH.js +1 -0
- package/dist/chunk-receiptDeps-B7MehyHT.js +1 -0
- package/dist/chunk-receiptGate-BZCKCMTV.js +1 -0
- package/dist/chunk-receiptGate-DRcw327y.js +1 -0
- package/dist/{chunk-receiptSnapshot-B6ruXw8z.js → chunk-receiptSnapshot-CHSk3_4N.js} +1 -1
- package/dist/{chunk-receiptStore-Cy-L0H1u.js → chunk-receiptStore-DhROtI2h.js} +1 -1
- package/dist/chunk-refactor-CO3qyIEv.js +17 -0
- package/dist/chunk-refactor-CWeCOl7w.js +1 -0
- package/dist/{chunk-render-Ci5d6mg4.js → chunk-render-DZd5hScS.js} +1 -1
- package/dist/chunk-report-w7YZwhyg.js +1 -0
- package/dist/chunk-review-DYMgFDSy.js +1 -0
- package/dist/chunk-say-CP1IyOSv.js +1 -0
- package/dist/{chunk-security-VgKwtohm.js → chunk-security-pgip-kdY.js} +2 -2
- package/dist/chunk-serve-CKt2rO05.js +10 -0
- package/dist/{chunk-share-CBV2FuKq.js → chunk-share-rsL0itIM.js} +18 -18
- package/dist/chunk-stages-B2sBBxUc.js +3 -0
- package/dist/chunk-systemError-O3vQ8hLb.js +1 -0
- package/dist/chunk-systemError-n2E6isvg.js +1 -0
- package/dist/chunk-taskTest-DWoME1mY.js +2 -0
- package/dist/chunk-taskTest-JErgWO6t.js +1 -0
- package/dist/{chunk-templateDiagnostics-BwH7RNkz.js → chunk-templateDiagnostics-6txfKwas.js} +2 -2
- package/dist/chunk-templates-Y3xfCO_3.js +1 -0
- package/dist/chunk-testCases-BwimUfDC.js +4 -0
- package/dist/chunk-testCases-DO2Rkyvd.js +1 -0
- package/dist/chunk-tests-Cy325OGw.js +1 -0
- package/dist/chunk-tests-DNkORsqB.js +23 -0
- package/dist/{chunk-trust-DXcsUJaK.js → chunk-trust-DSX-k3by.js} +1 -1
- package/dist/{chunk-trust-DubjEjlN.js → chunk-trust-Di4EYPah.js} +1 -1
- package/dist/{chunk-variableChecks-KnECGMR3.js → chunk-variableChecks-CBDpmI4d.js} +1 -1
- package/dist/{chunk-workerVariables-CajAcbwl.js → chunk-workerVariables-CNnCRijJ.js} +1 -1
- package/dist/{chunk-workerVariables-DIDoUpHF.js → chunk-workerVariables-CulLc3YH.js} +1 -1
- package/dist/chunk-wrapper-CGYED7G2.js +1 -0
- package/dist/chunk-wrapper-CK7Xtes6.js +3 -0
- package/dist/grammars/web-tree-sitter.wasm +0 -0
- package/dist/penstock.js +1 -1
- package/dist/web/assets/{AgentSettings-Cn5Vcph3.js → AgentSettings-D24jOuht.js} +1 -1
- package/dist/web/assets/{AgentsDialog-C6WqzlxZ.js → AgentsDialog-BMWv3Gyk.js} +1 -1
- package/dist/web/assets/{AgentsDialog-dpbwVSxk.js → AgentsDialog-DbY2O6O5.js} +1 -1
- package/dist/web/assets/{AgentsTab-C34OhVkw.js → AgentsTab-D6LbK6sG.js} +2 -2
- package/dist/web/assets/{BpmnCanvas-yur9daZa.js → BpmnCanvas-BcQRQ2Br.js} +27 -27
- package/dist/web/assets/BpmnDocument-Ce5F4K1e.js +27 -0
- package/dist/web/assets/CmmnDocument-C_UlPowC.js +17 -0
- package/dist/web/assets/{ConflictDialog-Bb5kduaR.js → ConflictDialog-DfFp8F7n.js} +1 -1
- package/dist/web/assets/{ConnectionsDialog-qtF7yDFw.js → ConnectionsDialog-BaYtHD5h.js} +1 -1
- package/dist/web/assets/{DiffDocument-LHOif5Ac.js → DiffDocument-BOPdBEN3.js} +1 -1
- package/dist/web/assets/{DmnDocument-0f5uS67x.css → DmnDocument-DZ9u2uk2.css} +1 -1
- package/dist/web/assets/DmnDocument-vtnARy7Q.js +41 -0
- package/dist/web/assets/{DriftDialog-Chl6BX6k.js → DriftDialog-dIbCbSK2.js} +1 -1
- package/dist/web/assets/FormDocument-B0q8DF9v.css +1 -0
- package/dist/web/assets/FormDocument-DHBUBUzO.js +32 -0
- package/dist/web/assets/FormStepView-CbHb32_8.js +1 -0
- package/dist/web/assets/{GraphAwareLayoutService-wsos3yPD.js → GraphAwareLayoutService-C5N8K9dm.js} +1 -1
- package/dist/web/assets/{MigrationDialog-CBJU7Oe3.js → MigrationDialog-DA3Vrzgw.js} +1 -1
- package/dist/web/assets/{NewFileDialog-B7075LWG.js → NewFileDialog-Dev41oA1.js} +1 -1
- package/dist/web/assets/PolicyDialog-qR19Csji.js +1 -0
- package/dist/web/assets/{QuickOpen-DJQrI7Od.js → QuickOpen-ps-rMjiS.js} +1 -1
- package/dist/web/assets/ScriptPane-BQLMNYzc.js +2 -0
- package/dist/web/assets/{ScriptRunDialog-BwE4cXnp.js → ScriptRunDialog-YivjHB6j.js} +1 -1
- package/dist/web/assets/{SettingsDialog-c307wPsg.js → SettingsDialog-DI0vZ6Ay.js} +1 -1
- package/dist/web/assets/ShortcutsDialog-DLXnv4Vm.js +1 -0
- package/dist/web/assets/SourceDocument-Cj8cGsoS.js +1 -0
- package/dist/web/assets/TemplateDocument-BRyFsofH.js +7 -0
- package/dist/web/assets/TextDocument-DB2hEuMA.js +1 -0
- package/dist/web/assets/{UnreadableFileLayer-CUP_30X8.js → UnreadableFileLayer-CRW3MM7w.js} +1 -1
- package/dist/web/assets/{UploadDialog-CaVBOxUL.js → UploadDialog-D-X6GG98.js} +1 -1
- package/dist/web/assets/Viewer-BcpDlvg_.js +4 -0
- package/dist/web/assets/apply-Nsj6ek02.js +1 -0
- package/dist/web/assets/{bpmnTheme-CZ7xp4R5.js → bpmnTheme-pKgl9Mrn.js} +2 -2
- package/dist/web/assets/{data-ZauKnQ2Z.js → data-CdiToGOq.js} +2 -2
- package/dist/web/assets/{data-Da5Nxzev.js → data-wU6sw6RY.js} +1 -1
- package/dist/web/assets/{dialog-DSLu1Bbo.js → dialog-BDJ5dDiU.js} +1 -1
- package/dist/web/assets/{diff-C4hitkRR.js → diff-BhYqTg4l.js} +1 -1
- package/dist/web/assets/dist-27z6Phtg.js +23 -0
- package/dist/web/assets/{dist-CofBTWz1.js → dist-B7TL-7R3.js} +4 -4
- package/dist/web/assets/dist-BEpeEbIu.js +1 -0
- package/dist/web/assets/{dist-CYCbBoYQ.js → dist-BTf7NfeQ.js} +1 -1
- package/dist/web/assets/{dist-CJKVV2_S.js → dist-BqGv7f4M.js} +10 -10
- package/dist/web/assets/dist-C-q1IWjr.js +6 -0
- package/dist/web/assets/{dist-Blylfrak.js → dist-CJx_2eBF.js} +2 -2
- package/dist/web/assets/dist-COUY_jv5.js +1 -0
- package/dist/web/assets/{dist-DpDu6Wz_.js → dist-CWjAtsKe.js} +1 -1
- package/dist/web/assets/{dist-gb3IfUZi.js → dist-Cv8_A_95.js} +2 -2
- package/dist/web/assets/dist-DDE6BjgI.js +5 -0
- package/dist/web/assets/{dist-7VC_hKpw.js → dist-DDNYYQtV.js} +1 -1
- package/dist/web/assets/dist-DW-S9iZN.js +1 -0
- package/dist/web/assets/dist-OnU5n5o1.js +1 -0
- package/dist/web/assets/dmn-Cgoh6wXm.js +3 -0
- package/dist/web/assets/{documentBridge-1Eg7H9yI.js → documentBridge-CHw4XsZH.js} +3 -3
- package/dist/web/assets/{documents-LG-7CTrn.js → documents-CEtohzAC.js} +1 -1
- package/dist/web/assets/duplicate-D_ic-m62.js +342 -0
- package/dist/web/assets/{engines-DhO6OW1S.js → engines-lyEvb0pH.js} +1 -1
- package/dist/web/assets/{executable-BTarDLry.js → executable--4381_Lf.js} +1 -1
- package/dist/web/assets/{file-CIeVSOHy.js → file-BbVBUuIH.js} +1 -1
- package/dist/web/assets/formChecks-CSClH9sH.js +1 -0
- package/dist/web/assets/frontend-uXAWaalt.js +1 -0
- package/dist/web/assets/{httpHost-DBSjdVth.js → httpHost-C973OTRe.js} +1 -1
- package/dist/web/assets/{index.es-pigASDxC.js → index.es-CMvq8Bhe.js} +3 -3
- package/dist/web/assets/index.es-GbdJvMnO.js +78 -0
- package/dist/web/assets/{index.esm-CTLpq4ik.js → index.esm-Ba6q0zSu.js} +1 -1
- package/dist/web/assets/{intelligence-_1C71hkQ.js → intelligence-DNqJNmdB.js} +3 -3
- package/dist/web/assets/{jspdf.es.min-PgZzOmkT.js → jspdf.es.min-C0L4zezU.js} +6 -6
- package/dist/web/assets/{kind-X3_nabTt.js → kind-DDHnk6dW.js} +1 -1
- package/dist/web/assets/{lib-BmLAen_d.js → lib-DrkEMJ65.js} +1 -1
- package/dist/web/assets/{list-DovB9lWV.js → list-TmXvCwja.js} +1 -1
- package/dist/web/assets/{migrationHost-BcguK4K5.js → migrationHost-DCWBb3L6.js} +1 -1
- package/dist/web/assets/moddle-f0Q4Guwd.js +1 -0
- package/dist/web/assets/{model--Bj28IOj.js → model-afHgSxJs.js} +1 -1
- package/dist/web/assets/{nudges-UF9_cBuO.js → nudges-DPG3WpyV.js} +1 -1
- package/dist/web/assets/{open-C9Kt9JLw.js → open-Vkx72dYx.js} +1 -1
- package/dist/web/assets/platform-G53Cenyw.js +2 -0
- package/dist/web/assets/{preload-helper-VRuDKI9K.js → preload-helper-DExCAR_V.js} +1 -1
- package/dist/web/assets/{run-BZgz1U9U.js → run-BMfRBe5O.js} +1 -1
- package/dist/web/assets/samples-BL3jA_Vd.js +1 -0
- package/dist/web/assets/{say-WvEHqIbO.js → say-BkdZMivA.js} +1 -1
- package/dist/web/assets/{say-ChFGKK2E.js → say-C7KqKcFr.js} +1 -1
- package/dist/web/assets/{sections-N6WYk7b8.js → sections-LJKSRDTS.js} +1 -1
- package/dist/web/assets/sharedReader-BsXfiBT8.js +1 -0
- package/dist/web/assets/{source-frame-DcptKpVq.js → source-frame-DC4W0A5-.js} +2 -2
- package/dist/web/assets/{syntax-DW10Wzg4.js → syntax-00Hk6Xv7.js} +4 -4
- package/dist/web/assets/{template-CMl68jPp.js → template-BQP7ZXdK.js} +1 -1
- package/dist/web/assets/testCaseRuns-liAhWMg7.js +1 -0
- package/dist/web/assets/{trace-DLziNpe2.js → trace-DXQU2N_l.js} +1 -1
- package/dist/web/assets/{translator-DLDFsUlE.js → translator-BLCeE6UY.js} +1 -1
- package/dist/web/assets/ui-BLtm3Y1J.js +1 -0
- package/dist/web/assets/{useTrace-UYBskc2k.js → useTrace-dZdQ805W.js} +1 -1
- package/dist/web/assets/web-C4k0NLZ9.js +982 -0
- package/dist/web/assets/web-CnDpD6qy.css +1 -0
- package/dist/web/assets/{workerVariables-DURgyUbG.js → workerVariables-O6VqwDzr.js} +1 -1
- package/dist/web/assets/xml-DIWt4von.js +1 -0
- package/dist/web/index.html +39 -40
- package/package.json +5 -5
- package/dist/chunk-account-CpZu-RTg.js +0 -1
- package/dist/chunk-agentServe-BYRtgGGD.js +0 -10
- package/dist/chunk-agents-B9oxdPTA.js +0 -1
- package/dist/chunk-agentsMigrate-BV8TeRXq.js +0 -2
- package/dist/chunk-analyze-pgzR-Cx-.js +0 -1
- package/dist/chunk-apiTemplates-cU7C8vap.js +0 -1
- package/dist/chunk-cmmnFindings-S2TGSnEp.js +0 -1
- package/dist/chunk-codeLinks-C8N6e8k3.js +0 -1
- package/dist/chunk-codeLinks-o0a8tBGk.js +0 -1
- package/dist/chunk-command-Bqlbgo-2.js +0 -1
- package/dist/chunk-command-DT84ioJb.js +0 -5
- package/dist/chunk-command-DrGP2kg8.js +0 -1
- package/dist/chunk-commands-B4PoZbpX.js +0 -5
- package/dist/chunk-compose-CWKKVtN5.js +0 -4
- package/dist/chunk-connections-DQpKbIGD.js +0 -1
- package/dist/chunk-connectors-PtAvE91B.js +0 -1
- package/dist/chunk-convert-CpgtOlZk.js +0 -1
- package/dist/chunk-convert-HbFpg8ab.js +0 -3
- package/dist/chunk-deploy-l4MdFfn8.js +0 -6
- package/dist/chunk-deploy-qRaaKGZb.js +0 -1
- package/dist/chunk-diff-BhTFlCE3.js +0 -1
- package/dist/chunk-diff-kBF83vzM.js +0 -1
- package/dist/chunk-dispatch-BnO-QhMh.js +0 -7
- package/dist/chunk-dmnTests-0x_yUH6S.js +0 -1
- package/dist/chunk-doctor-BuHK1dTm.js +0 -1
- package/dist/chunk-evidence-oLw_C6j8.js +0 -23
- package/dist/chunk-export-cIFHDXug.js +0 -1
- package/dist/chunk-export-jBVxtmCH.js +0 -20
- package/dist/chunk-failure-D5brrYW2.js +0 -1
- package/dist/chunk-import-BBOe-5RZ.js +0 -6
- package/dist/chunk-importCommand-DRjYoljA.js +0 -1
- package/dist/chunk-incident-BK1h37CD.js +0 -1
- package/dist/chunk-init-_OALJuKm.js +0 -227
- package/dist/chunk-lint-7KJFxyCN.js +0 -1
- package/dist/chunk-main-Cw2JXCil.js +0 -1
- package/dist/chunk-mcp-K63bhqnF.js +0 -95
- package/dist/chunk-migrate-BMwBV5sc.js +0 -16
- package/dist/chunk-migrate-CxfVmKt0.js +0 -1
- package/dist/chunk-migrateVerify-DSEXSpfR.js +0 -1
- package/dist/chunk-policy-BX0Ftdws.js +0 -1
- package/dist/chunk-policyGate-dmcufnwB.js +0 -2
- package/dist/chunk-pr-ByrGcfam.js +0 -1
- package/dist/chunk-project-DA3KnAZH.js +0 -1
- package/dist/chunk-promotion-Boedyq43.js +0 -1
- package/dist/chunk-promotion-D8Ti-vxp.js +0 -2
- package/dist/chunk-receipt-CusJaqNn.js +0 -1
- package/dist/chunk-receiptDeps-oVbX156d.js +0 -1
- package/dist/chunk-receiptGate-DrGChj7i.js +0 -1
- package/dist/chunk-receiptGate-xldHKMyJ.js +0 -1
- package/dist/chunk-refactor-B1W_MGTp.js +0 -1
- package/dist/chunk-refactor-BJXxEtVs.js +0 -17
- package/dist/chunk-report-D9pM09Nu.js +0 -1
- package/dist/chunk-review-UcqS5AAi.js +0 -1
- package/dist/chunk-say-CYb4HeJD.js +0 -1
- package/dist/chunk-serve-Dmqen1yd.js +0 -10
- package/dist/chunk-stages-BTQJrAMF.js +0 -3
- package/dist/chunk-systemError-BYrMzp2o.js +0 -1
- package/dist/chunk-systemError-CXvnhNPK.js +0 -1
- package/dist/chunk-taskTest-9gMsx0zu.js +0 -2
- package/dist/chunk-taskTest-BjXYpG5p.js +0 -1
- package/dist/chunk-templates-D3ouIwHD.js +0 -1
- package/dist/chunk-testCases-9jwT_Y7z.js +0 -4
- package/dist/chunk-testCases-BcpBPg9L.js +0 -1
- package/dist/chunk-tests-CEEXnWOp.js +0 -23
- package/dist/chunk-tests-CRVosdWp.js +0 -1
- package/dist/chunk-wrapper-B2WnOIoB.js +0 -3
- package/dist/chunk-wrapper-DiKCKZti.js +0 -1
- package/dist/web/assets/BpmnDocument-C247Rqim.js +0 -27
- package/dist/web/assets/CmmnDocument-Dj48bsUd.js +0 -17
- package/dist/web/assets/DmnDocument-Cb9Zi9fS.js +0 -41
- package/dist/web/assets/FormDocument-DoZaxWd-.js +0 -32
- package/dist/web/assets/FormDocument-URLcKn84.css +0 -1
- package/dist/web/assets/FormStepView-D8MFcpeI.js +0 -1
- package/dist/web/assets/PolicyDialog-CGdglmDn.js +0 -1
- package/dist/web/assets/ScriptPane-T6M5f6fc.js +0 -2
- package/dist/web/assets/ShortcutsDialog-BAoL9EHu.js +0 -1
- package/dist/web/assets/SourceDocument-C9KIzBA5.js +0 -1
- package/dist/web/assets/TemplateDocument-CNt2turg.js +0 -7
- package/dist/web/assets/TextDocument-CtkHoEqN.js +0 -1
- package/dist/web/assets/Viewer-DZske1C5.js +0 -4
- package/dist/web/assets/apply-nnKP9HIM.js +0 -1
- package/dist/web/assets/dist--PmHUHDp.js +0 -1
- package/dist/web/assets/dist-BoPrKCf2.js +0 -5
- package/dist/web/assets/dist-C1m02xAO.js +0 -1
- package/dist/web/assets/dist-CLqJMzT-.js +0 -1
- package/dist/web/assets/dist-D3jqq0XS.js +0 -1
- package/dist/web/assets/dist-DA-9F0U9.js +0 -1
- package/dist/web/assets/dist-DojzF5q2.js +0 -6
- package/dist/web/assets/dist-yvjzrXXf.js +0 -23
- package/dist/web/assets/dmn-DwdcYXGr.js +0 -3
- package/dist/web/assets/duplicate-D-ilQqKz.js +0 -342
- package/dist/web/assets/formChecks-CGox1z7R.js +0 -1
- package/dist/web/assets/frontend-Qq5hBH0U.js +0 -1
- package/dist/web/assets/index.es-CcNNw3VB.js +0 -78
- package/dist/web/assets/moddle-DJxj0oEU.js +0 -1
- package/dist/web/assets/platform-BLPhsye9.js +0 -2
- package/dist/web/assets/samples-oeXBsJ9Y.js +0 -1
- package/dist/web/assets/sharedReader-Bopy7Uk9.js +0 -1
- package/dist/web/assets/testCaseRuns-B_XdqGFh.js +0 -1
- package/dist/web/assets/ui-BTKMbWYG.js +0 -1
- package/dist/web/assets/web-FzNBw1kZ.css +0 -1
- package/dist/web/assets/web-jPMZVwbQ.js +0 -982
- package/dist/web/assets/xml-DTgZ-B-l.js +0 -1
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-version-CdS8_QQd.js";import{u as t}from"./chunk-license-BG88gpDZ.js";import{r as n}from"./chunk-translator-DNm9zRpP.js";import{n as r,t as i}from"./chunk-dmnTests-ChwX1YVo.js";import{_ as a,g as o,m as s,v as c}from"./chunk-load-rfn3E0t5.js";import{t as l}from"./chunk-context-rCJvBM9p.js";import{n as u}from"./chunk-commands-B4PoZbpX.js";import{n as d,t as f}from"./chunk-diagrams-BukAOL0g.js";import{t as p}from"./chunk-connections-D_wC6d0W.js";import{i as m}from"./chunk-safeWrite-RgLbdyzl.js";import{i as h,n as g}from"./chunk-receiptStore-Cy-L0H1u.js";import{c as ee}from"./chunk-promotion-Boedyq43.js";import{r as te,t as _}from"./chunk-policyGate-dmcufnwB.js";import{n as v}from"./chunk-diff-BhTFlCE3.js";import{l as y,m as b,p as x,r as S,s as C,t as w}from"./chunk-git-57LoLvY3.js";import{t as ne}from"./chunk-drawing-MbILUK8j.js";import{n as T,t as E}from"./chunk-render-Ci5d6mg4.js";import{r as D}from"./chunk-parse-B-uKGDy-.js";import O from"node:path";import{closeSync as k,constants as A,fsyncSync as re,lstatSync as j,mkdirSync as M,openSync as N,readFileSync as P,readdirSync as ie,realpathSync as F,renameSync as I,rmSync as L,statSync as R,writeFileSync as z}from"node:fs";import{createHash as B}from"node:crypto";import{crc32 as V,inflateRawSync as ae}from"node:zlib";const H=5e3,U=268435456;var W=class extends Error{reasons;constructor(e){super(e[0]??``),this.name=`PackRefused`,this.reasons=e}};const oe=23585;function G(e){if(e===``||Buffer.byteLength(e)>240||e.includes(`\\`)||e.includes(`\0`)||e.startsWith(`/`)||/^[A-Za-z]:/.test(e)||e.endsWith(`/`))return n(`app.evidence.zip.badName`,{name:e.slice(0,80)});for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return n(`app.evidence.zip.badName`,{name:e.slice(0,80)});return null}function se(e){if(e.length>5e3)throw new W([n(`app.evidence.zip.tooManyFiles`,{limit:H})]);let t=/* @__PURE__ */ new Set,r=0,i=[],a=[],o=0;for(let s of e){let e=G(s.name);if(e)throw new W([e]);let c=s.name.toLowerCase();if(t.has(c))throw new W([n(`app.evidence.zip.duplicate`,{name:s.name})]);if(t.add(c),s.data.length>67108864)throw new W([n(`app.evidence.zip.tooLarge`,{name:s.name})]);if(r+=s.data.length,r>268435456)throw new W([n(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);let l=Buffer.from(s.name,`utf8`),u=V(s.data)>>>0,d=Buffer.alloc(30);d.writeUInt32LE(67324752,0),d.writeUInt16LE(20,4),d.writeUInt16LE(2048,6),d.writeUInt16LE(0,8),d.writeUInt16LE(0,10),d.writeUInt16LE(oe,12),d.writeUInt32LE(u,14),d.writeUInt32LE(s.data.length,18),d.writeUInt32LE(s.data.length,22),d.writeUInt16LE(l.length,26),d.writeUInt16LE(0,28);let f=Buffer.alloc(46);f.writeUInt32LE(33639248,0),f.writeUInt16LE(788,4),f.writeUInt16LE(20,6),f.writeUInt16LE(2048,8),f.writeUInt16LE(0,10),f.writeUInt16LE(0,12),f.writeUInt16LE(oe,14),f.writeUInt32LE(u,16),f.writeUInt32LE(s.data.length,20),f.writeUInt32LE(s.data.length,24),f.writeUInt16LE(l.length,28),f.writeUInt32LE(2175008768,38),f.writeUInt32LE(o,42),i.push(d,l,Buffer.from(s.data)),a.push(f,l),o+=d.length+l.length+s.data.length}let s=Buffer.concat(a),c=Buffer.alloc(22);return c.writeUInt32LE(101010256,0),c.writeUInt16LE(e.length,8),c.writeUInt16LE(e.length,10),c.writeUInt32LE(s.length,12),c.writeUInt32LE(o,16),Buffer.concat([...i,s,c])}function ce(e){if(e.length>270435456)throw new W([n(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);let t=new W([n(`app.evidence.zip.malformed`)]),r=-1;for(let t=e.length-22;t>=Math.max(0,e.length-22-65535);--t)if(e.readUInt32LE(t)===101010256){r=t;break}if(r<0)throw t;let i=e.readUInt16LE(r+10),a=e.readUInt32LE(r+12),o=e.readUInt32LE(r+16);if(i>5e3)throw new W([n(`app.evidence.zip.tooManyFiles`,{limit:H})]);if(o+a>r||e.readUInt16LE(r+8)!==i||e.readUInt16LE(r+4)!==0)throw t;let s=[],c=[],l=/* @__PURE__ */ new Set,u=o,d=0;for(let a=0;a<i;a+=1){if(u+46>r||e.readUInt32LE(u)!==33639248)throw t;let i=e.readUInt16LE(u+8),a=e.readUInt16LE(u+10),f=e.readUInt32LE(u+16),p=e.readUInt32LE(u+20),m=e.readUInt32LE(u+24),h=e.readUInt16LE(u+28),g=e.readUInt16LE(u+30),ee=e.readUInt16LE(u+32),te=e.readUInt32LE(u+38),_=e.readUInt32LE(u+42);if(u+46+h+g+ee>r)throw t;let v=e.subarray(u+46,u+46+h).toString(`utf8`);u+=46+h+g+ee;let y=G(v);if(y){c.push(y);continue}let b=te>>>16&61440;if(b!==0&&b!==32768){c.push(n(`app.evidence.zip.special`,{name:v}));continue}if(i&1||a!==0&&a!==8){c.push(n(`app.evidence.zip.unsupported`,{name:v}));continue}if(l.has(v.toLowerCase())){c.push(n(`app.evidence.zip.duplicate`,{name:v}));continue}if(l.add(v.toLowerCase()),m>67108864){c.push(n(`app.evidence.zip.tooLarge`,{name:v}));continue}if(d+=m,d>268435456)throw new W([n(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);if(_+30>o||e.readUInt32LE(_)!==67324752)throw t;let x=_+30+e.readUInt16LE(_+26)+e.readUInt16LE(_+28);if(x+p>o)throw t;let S=e.subarray(x,x+p),C;try{C=a===0?Buffer.from(S):ae(S,{maxOutputLength:67108864})}catch{c.push(n(`app.evidence.zip.unsupported`,{name:v}));continue}C.length!==m||V(C)>>>0!==f?c.push(n(`app.evidence.zip.crc`,{name:v})):s.push({name:v,data:C})}if(c.length>0)throw new W(c);return s}const K=`evidence.json`,le=`evidence.sha256`;function q(e){return B(`sha256`).update(e).digest(`hex`)}function ue(e){return q(e)}function de(e,t){let n=[...e].sort((e,t)=>e.name<t.name?-1:1).map(e=>({path:e.name,sha256:q(e.data),bytes:e.data.length})),r={version:1,kind:`penstock-evidence`,...t,files:n},i=Buffer.from(`${JSON.stringify(r,null,2)}\n`,`utf8`);return[...e,{name:K,data:i},{name:le,data:Buffer.from(`${ue(i)} ${K}\n`,`utf8`)}]}function J(e){try{return j(e)}catch{return null}}function Y(e,t,r){let i=J(e);if(i!==null){if(i.isSymbolicLink())throw new W([n(`app.evidence.write.symlink`,{path:e})]);if(r===`file`?!i.isFile():!i.isDirectory())throw new W([n(`app.evidence.write.notTheKind`,{path:e})]);if(!t)throw new W([n(`app.evidence.write.exists`,{path:e})]);if(r===`dir`&&J(O.join(e,`evidence.json`))===null&&ie(e).length>0)throw new W([n(`app.evidence.write.notAPack`,{path:e})])}}const fe=A.O_WRONLY|A.O_CREAT|A.O_EXCL|(A.O_NOFOLLOW??0);function pe(e,t){if(e!==void 0){let r=O.resolve(e.root),i=c(e.root);for(let e of[r,i]){let n=O.relative(e,t);if(n===``||!n.startsWith(`..`)&&!O.isAbsolute(n))return{base:e,strict:!0}}if(!e.allowOutside)throw new W([n(`app.cli.mcp.outsideRoots`,{target:t})])}return{base:O.parse(t).root,strict:!1}}function me(e,t){let r=O.resolve(e),{base:i,strict:o}=pe(t,r),s=o&&t!==void 0?c(t.root):null,l=i;for(let e of O.relative(i,r).split(O.sep).filter(e=>e!==``)){l=O.join(l,e);let t=J(l);if(t===null){try{M(l,{mode:493})}catch(e){if(e.code!==`EEXIST`)throw e}t=J(l)}if(t===null)throw new W([n(`app.evidence.write.notTheKind`,{path:l})]);if(t.isSymbolicLink()){if(o||t.uid!==0)throw new W([n(`app.evidence.write.symlink`,{path:l})]);if(!R(l).isDirectory())throw new W([n(`app.evidence.write.notTheKind`,{path:l})])}else if(!t.isDirectory())throw new W([n(`app.evidence.write.notTheKind`,{path:l})]);if(s!==null&&!a(F(l),[s]))throw new W([n(`app.cli.mcp.outsideRoots`,{target:l})])}return F(r)}function he(e,t,r){let i=F(t),o=r!==void 0&&!r.allowOutside?r.root:null;if(O.dirname(i)!==e||o!==null&&!a(i,[o]))throw new W([n(`app.cli.mcp.outsideRoots`,{target:t})])}function ge(e,t,n){let r=N(e,fe,420);try{z(r,t),n&&re(r)}finally{k(r)}}function _e(e,t,r,i){let a=se(t),o=O.resolve(e),s=me(O.dirname(o),i);Y(o,r,`file`);let c=m(o);try{if(ge(c,a,!0),he(s,c,i),Y(o,r,`file`),F(O.dirname(o))!==s)throw new W([n(`app.cli.mcp.outsideRoots`,{target:o})]);I(c,o)}catch(e){throw L(c,{force:!0}),e}}function ve(e,t,r,i){let a=0,o=/* @__PURE__ */ new Set;for(let e of t){let t=G(e.name);if(t)throw new W([t]);if(o.has(e.name.toLowerCase()))throw new W([n(`app.evidence.zip.duplicate`,{name:e.name})]);o.add(e.name.toLowerCase()),a+=e.data.length}if(t.length>5e3)throw new W([n(`app.evidence.zip.tooManyFiles`,{limit:H})]);if(a>268435456)throw new W([n(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);let s=O.resolve(e),c=me(O.dirname(s),i);Y(s,r,`dir`);let l=m(s);M(l,{mode:493});try{he(c,l,i);for(let e of t){let t=e.name.split(`/`),r=l;for(let e of t.slice(0,-1)){r=O.join(r,e);try{M(r,{mode:493})}catch(e){if(e.code!==`EEXIST`)throw e}if(!j(r).isDirectory())throw new W([n(`app.evidence.write.symlink`,{path:r})])}ge(O.join(r,t[t.length-1]),e.data,!1)}if(J(s)!==null&&(Y(s,r,`dir`),L(s,{recursive:!0})),F(O.dirname(s))!==c)throw new W([n(`app.cli.mcp.outsideRoots`,{target:s})]);I(l,s)}catch(e){throw L(l,{recursive:!0,force:!0}),e}}function ye(e,t,r,i,a,o){if(r>8)a.push(n(`app.evidence.verify.tooDeep`,{path:t}));else for(let s of ie(O.join(e,t)).sort()){let c=t===``?s:`${t}/${s}`,l=j(O.join(e,c));if(l.isSymbolicLink()||!l.isDirectory()&&!l.isFile())a.push(n(`app.evidence.zip.special`,{name:c}));else if(l.isDirectory())ye(e,c,r+1,i,a,o);else{if(i.length>=5e3)throw new W([n(`app.evidence.zip.tooManyFiles`,{limit:H})]);if(l.size>67108864)a.push(n(`app.evidence.zip.tooLarge`,{name:c}));else{if(o.total+=l.size,o.total>268435456)throw new W([n(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);i.push({name:c,data:P(O.join(e,c))})}}}}function be(e,t){let r;try{r=JSON.parse(e.toString(`utf8`))}catch{return t.push(n(`app.evidence.verify.manifestUnreadable`)),null}let i=r;if(typeof i!=`object`||!i||i.version!==1||i.kind!==`penstock-evidence`||!Array.isArray(i.files))return t.push(n(`app.evidence.verify.manifestUnreadable`)),null;for(let e of i.files)if(typeof e!=`object`||!e||typeof e.path!=`string`||typeof e.sha256!=`string`||!/^[0-9a-f]{64}$/.test(e.sha256)||typeof e.bytes!=`number`)return t.push(n(`app.evidence.verify.manifestUnreadable`)),null;return i}function xe(e){let t=[],r=()=>({ok:!1,problems:t,files:0,sealed:null,manifest:null}),i=J(e);if(i===null)return t.push(n(`app.evidence.verify.missing`,{path:e})),r();if(i.isSymbolicLink()||!i.isDirectory()&&!i.isFile())return t.push(n(`app.evidence.write.symlink`,{path:e})),r();let a;try{if(i.isDirectory())a=[],ye(e,``,0,a,t,{total:0});else{if(i.size>270435456)throw new W([n(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);a=ce(P(e))}}catch(i){return i instanceof W?t.push(...i.reasons):t.push(n(`app.evidence.verify.unreadable`,{path:e})),r()}let o=new Map(a.map(e=>[e.name,e.data])),s=o.get(K),c=o.get(le);s===void 0&&t.push(n(`app.evidence.verify.noManifest`)),c===void 0&&t.push(n(`app.evidence.verify.noSeal`));let l=null;if(s!==void 0&&c!==void 0){l=ue(s);let e=/^([0-9a-f]{64}) {2}evidence\.json\n?$/.exec(Buffer.from(c).toString(`utf8`))?.[1];e===void 0?t.push(n(`app.evidence.verify.sealUnreadable`)):e!==l&&t.push(n(`app.evidence.verify.sealMismatch`))}let u=s===void 0?null:be(Buffer.from(s),t);if(u!==null){let e=/* @__PURE__ */ new Set;for(let r of u.files){let i=G(r.path);if(i){t.push(i);continue}if(e.has(r.path)){t.push(n(`app.evidence.zip.duplicate`,{name:r.path}));continue}e.add(r.path);let a=o.get(r.path);a===void 0?t.push(n(`app.evidence.verify.missingFile`,{file:r.path})):(a.length!==r.bytes||q(a)!==r.sha256)&&t.push(n(`app.evidence.verify.changedFile`,{file:r.path}))}for(let r of o.keys())r!==`evidence.json`&&r!==`evidence.sha256`&&!e.has(r)&&t.push(n(`app.evidence.verify.extraFile`,{file:r}))}return{ok:t.length===0,problems:t,files:u?.files.length??0,sealed:l,manifest:u}}const Se=`penstock-evidence.zip`;function X(e,t){return O.relative(e,t).split(O.sep).join(`/`)}function Z(e){return Buffer.from(`${JSON.stringify(e,null,2)}\n`,`utf8`)}function Ce(e){return T(e)?`case`:d(e)??`process`}function we(e,t){try{let n=j(t);return n.isFile()&&!n.isSymbolicLink()&&n.size<=8388608&&a(c(t),[c(e)])}catch{return!1}}function Q(e){let t=``;for(let n of e)t+=n===`&`?`&`:n===`<`?`<`:n===`>`?`>`:n===`"`?`"`:n===`'`?`'`:n;return t}async function Te(e,t={}){let n=P(e,`utf8`);return T(e)?E(D(n)):(await ne(n,t)).svg}function Ee(e,t,n){return T(t)?Promise.resolve(E(D(e))):ne(e,n).then(e=>e.svg)}function De(e){if(!y(e))return null;let t=C(e,[`log`,`-1`,`--format=%H%x00%an%x00%aI`]);if(t===null)return null;let[n,r,i]=t.trim().split(`\0`);return{commit:n||null,authorName:r||null,authorDate:i||null}}async function Oe(e,m={}){let v=c(e.root),y=[],b=[],C=[],w=await(m.tier??(async()=>(await t()).tier))(),ne=w===`team`,E=(e,t,n=null)=>{b.push({name:e,included:t,note:n})};if(e.since!==void 0&&(!x(e.since)||S(v,e.since)===null))return C.push(n(`app.cli.evidence.badSince`,{ref:e.since})),{entries:y,header:$(v,m,w,e.since??null,b),refused:C,checksOk:!1};let D=f(v,[`process`,`decision`,`form`,`case`]);D.length>500&&C.push(n(`app.cli.evidence.tooManyDiagrams`,{limit:500}));let k=D.filter(e=>we(v,e)?!0:(C.push(n(`app.cli.evidence.notInspected`,{file:X(v,e)})),!1));if(C.length>0)return{entries:y,header:$(v,m,w,e.since??null,b),refused:C,checksOk:!1};k.sort();let A=k.map(e=>({path:X(v,e),kind:Ce(e),sha256:q(P(e))}));y.push({name:`inventory.json`,data:Z({projectDigest:te(v),files:A})}),E(`inventory`,!0);let re=k.filter(e=>[`process`,`case`].includes(Ce(e)));for(let e of re)try{y.push({name:`diagrams/${X(v,e)}.svg`,data:Buffer.from(await Te(e),`utf8`)})}catch(t){C.push(n(`app.cli.evidence.notDrawn`,{file:X(v,e),reason:t instanceof Error?t.message.split(`
|
|
2
|
-
`)[0]:String(t)}))}if(E(`diagrams`,!0,re.length===0?n(`app.cli.evidence.none`):null),C.length>0)return{entries:[],header:$(v,m,w,e.since??null,b),refused:C,checksOk:!1};let M=k.filter(e=>d(e)!==null||T(e)),N=!0;if(M.length>0){let e=await u(M,{format:`sarif`,baseline:!1,updateBaseline:!1}),t=await u(M,{format:`text`,baseline:!1,updateBaseline:!1});N=e.ok&&t.ok,y.push({name:`checks/check.sarif`,data:Buffer.from(`${e.lines.join(`
|
|
3
|
-
`)}\n`,`utf8`)}),y.push({name:`checks/check.txt`,data:Buffer.from(`${t.lines.join(`
|
|
4
|
-
`)}\n`,`utf8`)}),y.push({name:`checks/result.json`,data:Z({ok:N})})}E(`checks`,M.length>0,M.length>0?null:n(`app.cli.evidence.none`));let ie=i([v]).slice(0,200),F=[];for(let e of ie){let t=await r(e,{licensed:!0});(t.testsFile!==null||t.problem!==null)&&F.push({file:X(v,e),problem:t.problem,passed:t.passed,failed:t.failed,errors:t.errors,skipped:t.skipped,coverage:t.total,cases:t.cases.map(e=>({name:e.name,decision:e.decision,status:e.status}))})}y.push({name:`tests/results.json`,data:Z({recorded:{scenarios:_(v,`scenarios`),dmnTests:_(v,`dmnTests`)},dmn:F})}),E(`tests`,!0);let I=[];for(let e of h(v).slice(-200)){let t=g(v,e);if(!(`receipt`in t)){I.push({file:O.basename(e),readable:!1});continue}let n=t.receipt;I.push({file:O.basename(e),createdAt:n.createdAt,source:n.source,verdict:n.verdict,files:n.files.map(e=>({path:e.path,change:e.change,before:e.before,after:e.after})),newFindings:n.checks.freshCount,scenarios:{passed:n.scenarios.passed,failed:n.scenarios.failed}})}y.push({name:`receipts/receipts.json`,data:Z({receipts:I})}),E(`receipts`,!0,I.length===0?n(`app.cli.evidence.none`):null),e.since===void 0?E(`changes`,!1,n(`app.cli.evidence.noSince`)):E(`changes`,!0,await ke(v,e.since,y)===0?n(`app.cli.evidence.none`):null);let L=l(v);ne?(y.push({name:`policy/policy.json`,data:Z(o(L.policy??s(v,L.own)))}),y.push({name:`policy/environments.json`,data:Z({environments:ee(v).map(e=>({name:e.name,declared:e.target!==null,protected:e.target?.protected===!0}))})}),E(`policy`,!0)):E(`policy`,!1,n(`app.cli.evidence.teamOnly`));let R=p(v,{environment:null,against:null});y.push({name:`connections/summary.json`,data:Z({environments:R.environments,rows:R.rows.map(e=>({name:e.name,kind:e.kind,status:e.status,uses:e.uses.length})),findings:R.findings.map(e=>({rule:e.rule,severity:e.severity,file:X(v,e.file),line:e.line??null}))})}),E(`connections`,!0);let z=O.join(v,`.penstock`,`migration`,`report.md`),B=!1;try{let e=j(z);e.isFile()&&!e.isSymbolicLink()&&e.size<=1048576&&a(c(z),[v])&&(y.push({name:`migration/report.md`,data:P(z)}),B=!0)}catch{B=!1}E(`migration`,B,B?null:n(`app.cli.evidence.none`));let V=$(v,m,w,e.since??null,b);return y.push({name:`index.html`,data:Buffer.from(Ae(V,y),`utf8`)}),{entries:y,header:V,refused:C,checksOk:N}}function $(t,n,r,i,a){return{tool:{name:`penstock`,version:e()??`unknown`},generatedAt:(n.now??(()=>/* @__PURE__ */ new Date))().toISOString(),git:De(t),since:i,tier:r,sections:a}}async function ke(e,t,n){let r=w(e,t,!0),i=[...r.added.map(e=>[e,`added`]),...r.changed.map(e=>[e,`changed`])].slice(0,200),a=[];for(let[o,s]of i){let i=O.join(e,o);if(!we(e,i)){a.push({path:o,change:s,rendered:!1});continue}let c=Ce(i),l=P(i,`utf8`),u=s===`added`?null:b(e,t,r.previous[o]??o),d=c===`case`?null:await v(c,u??``,l),f={},p={};for(let e of d?.entries??[])e.change===`added`?p[e.id]=`added`:e.change===`removed`?f[e.id]=`removed`:(f[e.id]=`changed`,p[e.id]=`changed`);let m=!1;if(c===`process`||c===`case`)try{u!==null&&n.push({name:`changes/${o}.before.svg`,data:Buffer.from(await Ee(u,o,f),`utf8`)}),n.push({name:`changes/${o}.after.svg`,data:Buffer.from(await Ee(l,o,p),`utf8`)}),m=!0}catch{m=!1}a.push({path:o,change:s,rendered:m,moved:d?.moved??0,elements:d?.entries.map(e=>({change:e.change,id:e.id,type:e.type,name:e.name??null}))??[]})}return n.push({name:`changes/changes.json`,data:Z({since:t,commit:S(e,t),changed:a,removed:r.removed})}),a.length+r.removed.length}function Ae(e,t){let r=[...t].sort((e,t)=>e.name<t.name?-1:1).map(e=>`<tr><td><a href="${Q(encodeURI(e.name))}">${Q(e.name)}</a></td><td>${e.data.length}</td><td><code>${q(e.data)}</code></td></tr>`).join(`
|
|
5
|
-
`),i=e.sections.map(e=>`<li>${Q(e.name)}: ${e.included?Q(n(`app.cli.evidence.included`)):Q(n(`app.cli.evidence.left`))}${e.note?` (${Q(e.note)})`:``}</li>`).join(`
|
|
6
|
-
`),a=e.git?`${e.git.commit??``} ${e.git.authorName??``} ${e.git.authorDate??``}`:n(`app.cli.evidence.noGit`);return`<!doctype html>
|
|
7
|
-
<html><head><meta charset="utf-8"><title>${Q(n(`app.cli.evidence.title`))}</title></head>
|
|
8
|
-
<body>
|
|
9
|
-
<h1>${Q(n(`app.cli.evidence.title`))}</h1>
|
|
10
|
-
<p>${Q(n(`app.cli.evidence.tool`,{version:e.tool.version,at:e.generatedAt}))}</p>
|
|
11
|
-
<p>${Q(n(`app.cli.evidence.commit`,{commit:a.trim()}))}</p>
|
|
12
|
-
<p>${Q(n(`app.cli.evidence.sealNote`))}</p>
|
|
13
|
-
<ul>
|
|
14
|
-
${i}
|
|
15
|
-
</ul>
|
|
16
|
-
<table>
|
|
17
|
-
<thead><tr><th>${Q(n(`app.cli.evidence.column.file`))}</th><th>${Q(n(`app.cli.evidence.column.bytes`))}</th><th>SHA-256</th></tr></thead>
|
|
18
|
-
<tbody>
|
|
19
|
-
${r}
|
|
20
|
-
</tbody>
|
|
21
|
-
</table>
|
|
22
|
-
</body></html>
|
|
23
|
-
`}function je(e){let t=e.out===void 0?O.join(e.root,`.penstock`,e.format===`zip`?Se:`evidence`):O.resolve(e.out);return e.format===`zip`?t.toLowerCase().endsWith(`.zip`)||e.out===void 0?t:O.join(t,Se):t}async function Me(e,t={}){if(e.format===`dir`&&e.out!==void 0&&e.out.toLowerCase().endsWith(`.zip`))return{ok:!1,refused:!0,lines:[n(`app.cli.evidence.dirNotZip`,{out:e.out})]};let r=await Oe(e,t);if(r.refused.length>0)return{ok:!1,refused:!0,lines:[n(`app.cli.evidence.refused`),...r.refused.map(e=>` ${e}`)]};let i=de(r.entries,r.header),a=je(e);try{let t={root:e.root,allowOutside:e.out!==void 0&&e.confined!==!0};e.format===`zip`?_e(a,i,e.force,t):ve(a,i,e.force,t)}catch(e){if(e instanceof W)return{ok:!1,refused:!0,lines:[n(`app.cli.evidence.refused`),...e.reasons.map(e=>` ${e}`)]};throw e}let o=xe(a),s=e.json?[JSON.stringify({pack:a,files:o.files,sealed:o.sealed,checksOk:r.checksOk,sections:r.header.sections},null,2)]:[n(`app.cli.evidence.built`,{path:a,files:o.files}),n(`app.cli.evidence.sealed`,{seal:o.sealed??``}),n(`app.cli.evidence.sealNote`)];return{ok:o.ok,lines:s,pack:a,sealed:o.sealed??void 0,files:o.files}}function Ne(e,t){let r=xe(O.resolve(e));return t?{ok:r.ok,refused:!1,lines:[JSON.stringify({ok:r.ok,files:r.files,sealed:r.sealed,problems:r.problems},null,2)]}:r.ok?{ok:!0,lines:[n(`app.cli.evidence.verified`,{files:r.files,seal:r.sealed??``}),n(`app.cli.evidence.sealNote`)]}:{ok:!1,lines:[n(`app.cli.evidence.tampered`),...r.problems.map(e=>` ${e}`)]}}const Pe=[`build`,`verify`];async function Fe(e,t,r={}){let[i,a]=e;if(i===`verify`)return a===void 0?{ok:!1,refused:!0,lines:[n(`app.cli.evidence.needsPack`)]}:Ne(a,t.format===`json`);if(i!==`build`)return{ok:!1,refused:!0,lines:[n(`app.cli.evidence.unknownAction`,{actions:Pe.join(`, `)})]};let o=O.resolve(a??process.cwd());try{if(!j(o).isDirectory())return{ok:!1,lines:[n(`app.cli.web.notAFolder`,{folder:o})]}}catch{return{ok:!1,lines:[n(`app.cli.web.notAFolder`,{folder:o})]}}let s=t.format===`dir`?`dir`:`zip`;return Me({root:l(o).root,out:t.out,format:t.out===void 0||t.format===`zip`||t.format===`dir`?s:t.out.toLowerCase().endsWith(`.zip`)?`zip`:`dir`,since:t.since,force:t.force,json:t.format===`json`},r)}export{Me as evidenceBuild,Fe as evidenceCommand};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{n as exportCommand}from"./chunk-export-jBVxtmCH.js";
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./chunk-translator-DNm9zRpP.js";import{s as t}from"./chunk-failure-D5brrYW2.js";import{r as n}from"./chunk-context-rCJvBM9p.js";import{n as r}from"./chunk-project-DA3KnAZH.js";import{t as i}from"./chunk-drawing-MbILUK8j.js";import{n as a}from"./chunk-systemError-BYrMzp2o.js";import{n as o,t as s}from"./chunk-render-Ci5d6mg4.js";import{r as c}from"./chunk-parse-B-uKGDy-.js";import{createRequire as l}from"node:module";import u from"node:path";import{mkdirSync as d,readFileSync as f,writeFileSync as p}from"node:fs";const m=l(import.meta.url);function h(){return[e(`app.cli.export.needsBrowser`),e(`app.cli.export.installBrowser`),` npm i -D puppeteer`]}async function g(){try{return await m("puppeteer").launch({headless:!0})}catch{return null}}async function _(e,t,n={}){return p(t,(await i(f(e,`utf8`),n)).svg),t}async function v(t,n,r){let i=await t.evaluate(`(async () => {
|
|
2
|
-
const svg = ${JSON.stringify(n)};
|
|
3
|
-
const image = new Image();
|
|
4
|
-
const loaded = new Promise((resolve, reject) => {
|
|
5
|
-
image.onload = resolve;
|
|
6
|
-
image.onerror = () => reject(new Error(${JSON.stringify(e(`app.output.couldNotBePainted`))}));
|
|
7
|
-
});
|
|
8
|
-
image.src = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svg);
|
|
9
|
-
await loaded;
|
|
10
|
-
|
|
11
|
-
const scale = ${r};
|
|
12
|
-
const canvas = document.createElement('canvas');
|
|
13
|
-
canvas.width = Math.max(1, Math.ceil(image.width * scale));
|
|
14
|
-
canvas.height = Math.max(1, Math.ceil(image.height * scale));
|
|
15
|
-
const context = canvas.getContext('2d');
|
|
16
|
-
context.fillStyle = '#ffffff';
|
|
17
|
-
context.fillRect(0, 0, canvas.width, canvas.height);
|
|
18
|
-
context.drawImage(image, 0, 0, canvas.width, canvas.height);
|
|
19
|
-
return canvas.toDataURL('image/png').split(',')[1];
|
|
20
|
-
})()`);return Buffer.from(i,`base64`)}async function y(l,m,_,y=g){let b=m===`text`?`svg`:m;if(![`svg`,`png`].includes(b))return{ok:!1,lines:[e(`app.cli.export.unknownFormat`,{format:b})]};let x=b===`png`?await y():null;if(b===`png`&&!x)return{ok:!1,lines:h()};let S=[],C=!0;try{let m=x?await x.newPage():null;for(let h of l){let l;try{l=o(h)?{svg:s(c(f(h,`utf8`))),skipped:[]}:await i(f(h,`utf8`))}catch(e){C=!1,S.push(t(n(h),e));continue}let g=_??u.dirname(h),y=u.join(g,`${r(h)}.${b}`),x=l.svg;try{m&&(x=await v(m,l.svg,2))}catch(e){C=!1,S.push(`${n(h)}: ${e instanceof Error?e.message:String(e)}`);continue}try{d(g,{recursive:!0}),p(y,x)}catch(e){C=!1,S.push(a(e,y));continue}S.push(e(`app.cli.wrote`,{file:n(y)}),...l.skipped.map(t=>e(`app.cli.export.notDrawn`,{element:t})))}}finally{await x?.close()}return{ok:C,refused:!1,lines:S}}export{y as n,_ as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./chunk-translator-DNm9zRpP.js";import{t}from"./chunk-model-f8AzYUK7.js";import{r as n,t as r}from"./chunk-unreadableDiagram-CcrctihL.js";import{I as i}from"./chunk-load-rfn3E0t5.js";function a(e){return i(o(e))}function o(e){if(!(e instanceof Error))return String(e);let t=e.cause,n=t?.message||t?.errors?.[0]?.message||t?.code;return n&&!e.message.includes(n)?`${e.message}: ${n}`:e.message}const s=/ENOENT|no such file or directory/i;function c(t){return e(`app.output.noSuchPath`,{target:t})}function l(e){let t=e?.code,n=e?.cause;return s.test(String(t??``))||s.test(String(n?.code??``))||s.test(e instanceof Error?e.message:``)}function u(e){return e?.code===`EISDIR`||/\bEISDIR\b/.test(e instanceof Error?e.message:``)}const d=/^E[A-Z0-9]+$/;function f(e){if(!(e instanceof Error))return null;let t=e.code;return typeof t!=`string`||!d.test(t)?null:e.message.replace(/^[A-Z0-9_]+:\s*/,``).replace(/,\s*\w+\s+'.*'$/s,``)}function p(i,a){if(l(a))return c(i);if(u(a))return e(`app.output.isAFolder`,{file:i});let o=f(a);if(o!==null)return`${i}: ${o}`;let s=r(a instanceof Error?a:Error(String(a)));return e(`app.output.notValid`,{file:i,what:t(i),reason:n(s)})}const m=[[/\.dmn$/i,`decision`],[/\.form$/i,`form`]];function h(t){if(/\.bpmn(\.xml|20\.xml)?$/i.test(t))return null;let n=m.find(([e])=>e.test(t)),r=e(n?`app.output.kind.${n[1]}`:`app.output.kind.notBpmn`);return e(`app.output.notABpmnDiagram`,{file:t,kind:r})}export{f as a,h as i,l as n,a as o,c as r,p as s,u as t};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./chunk-translator-DNm9zRpP.js";import{t}from"./chunk-own-Cn7Ki4ij.js";import{a as n,i as r,o as i,r as a,s as o,t as s}from"./chunk-xml-rMelkRIV.js";import{i as c,r as l,t as u}from"./chunk-catalog-CXJ23e-I.js";import{n as d,r as f}from"./chunk-juel-CgGCf_MV.js";import{Inflate as p,strFromU8 as m,unzipSync as h}from"fflate";function g(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function _(e,t){return t.x>=e.x&&t.x<=e.x+e.width&&t.y>=e.y&&t.y<=e.y+e.height}function v(e){return e.width*e.height}function y(e,t){let n=Math.max(e.x-t.x,0,t.x-(e.x+e.width)),r=Math.max(e.y-t.y,0,t.y-(e.y+e.height));return Math.hypot(n,r)}const b=/* @__PURE__ */ new Set([`startEvent`,`endEvent`,`intermediateCatchEvent`,`intermediateThrowEvent`,`boundaryEvent`]);function x(e){return b.has(e.kind)}function S(e){return e.kind.endsWith(`Gateway`)}function C(e,t){let n=g(e),r=t.x-n.x,i=t.y-n.y;if(r===0&&i===0)return n;let a;return a=x(e)?Math.min(e.width,e.height)/2/Math.hypot(r,i):S(e)?1/(Math.abs(r)/(e.width/2)+Math.abs(i)/(e.height/2)):Math.min(r===0?1/0:e.width/2/Math.abs(r),i===0?1/0:e.height/2/Math.abs(i)),{x:n.x+r*a,y:n.y+i*a}}function ee(e,t){let n=g(e),r=g(t),i=(e,t,n,r)=>{let i={x:e.x+e.width,y:n.y},a={x:t.x,y:r.y};if(Math.abs(n.y-r.y)<1)return[i,{x:a.x,y:i.y}];let o=(i.x+a.x)/2;return[i,{x:o,y:i.y},{x:o,y:a.y},a]},a=(e,t,n,r)=>{let i={x:n.x,y:e.y+e.height},a={x:r.x,y:t.y};if(Math.abs(n.x-r.x)<1)return[i,{x:i.x,y:a.y}];let o=(i.y+a.y)/2;return[i,{x:i.x,y:o},{x:a.x,y:o},a]};return t.x>=e.x+e.width?i(e,t,n,r):e.x>=t.x+t.width?i(t,e,r,n).reverse():t.y>=e.y+e.height?a(e,t,n,r):e.y>=t.y+t.height?a(t,e,r,n).reverse():null}function w(e){let t=e.filter(e=>e.kind===`pool`);for(let e of t)t.some(t=>t!==e&&_(t,g(e))&&v(t)>v(e))&&(e.kind=`lane`)}const te=/* @__PURE__ */ new Set([`subProcess`,`transaction`,`eventSubProcess`]),ne=/* @__PURE__ */ new Set([`task`,`callActivity`,`subProcess`,`transaction`,`eventSubProcess`]),re=/* @__PURE__ */ new Set([`pool`,`lane`,`subProcess`,`transaction`,`eventSubProcess`]),ie=/* @__PURE__ */ new Set([`dataObject`,`dataStore`]),ae=/* @__PURE__ */ new Set([`startEvent`,`endEvent`,`intermediateCatchEvent`,`intermediateThrowEvent`,`boundaryEvent`]),oe={task:`task`,user:`userTask`,service:`serviceTask`,script:`scriptTask`,send:`sendTask`,receive:`receiveTask`,manual:`manualTask`,businessRule:`businessRuleTask`},se={message:`messageEventDefinition`,timer:`timerEventDefinition`,error:`errorEventDefinition`,escalation:`escalationEventDefinition`,signal:`signalEventDefinition`,conditional:`conditionalEventDefinition`,link:`linkEventDefinition`,compensation:`compensateEventDefinition`,cancel:`cancelEventDefinition`,terminate:`terminateEventDefinition`},ce={task:`Activity`,callActivity:`Activity`,subProcess:`Activity`,transaction:`Activity`,eventSubProcess:`Activity`,startEvent:`Event`,endEvent:`Event`,intermediateCatchEvent:`Event`,intermediateThrowEvent:`Event`,boundaryEvent:`Event`,exclusiveGateway:`Gateway`,parallelGateway:`Gateway`,inclusiveGateway:`Gateway`,complexGateway:`Gateway`,eventBasedGateway:`Gateway`,dataObject:`DataObjectReference`,dataStore:`DataStoreReference`,textAnnotation:`TextAnnotation`,pool:`Participant`,lane:`Lane`};function le(e){return r(e).replace(/\r/g,``).replace(/\n/g,` `).replace(/\t/g,`	`)}function T(e,t,n=``){let r=Object.entries(t).filter(e=>e[1]!==void 0).map(([e,t])=>` ${e}="${le(t)}"`).join(``);return n?`<bpmn:${e}${r}>${n}</bpmn:${e}>`:`<bpmn:${e}${r}/>`}function ue(e){return e?.trim()?`<bpmn:documentation>${a(e.trim())}</bpmn:documentation>`:``}function E(e){return String(Math.round(e))}function de(t){let n=[...t.notes],r=(e,t)=>n.push({level:e,message:t}),i=/* @__PURE__ */ new Set,o=(e,t)=>{let n=`${e}_${t.replace(/[^A-Za-z0-9_.-]/g,`_`)||`1`}`,r=n;for(let e=2;i.has(r);e+=1)r=`${n}_${e}`;return i.add(r),r},s=e=>e.name.replace(/\s+$/g,``),c=t=>t.name.trim()?`"${t.name.replace(/\s+/g,` `).trim()}"`:e(`app.import.note.unnamed`,{kind:e(`app.import.kind.${t.kind}`)}),l=t.nodes.map(e=>({...e,bpmnId:``})),u=new Map(l.map(e=>[e.id,e]));for(let t of l)t.kind===`lane`&&!l.some(e=>e!==t&&(e.kind===`pool`||e.kind===`lane`)&&_(e,g(t))&&v(e)>v(t))&&!(t.parent&&u.get(t.parent)?.kind===`pool`)&&(t.kind=`pool`,r(`assumed`,e(`app.import.note.laneAsPool`,{node:c(t)})));let d=l.filter(e=>re.has(e.kind)),f=e=>{if(e.kind===`pool`)return;let t=e.parent?u.get(e.parent):void 0,n=t=>t===e||!re.has(t.kind)?!1:e.kind!==`lane`||t.kind===`pool`||t.kind===`lane`;if(t&&n(t)&&v(t)>v(e))return t;let r=g(e);return d.filter(t=>n(t)&&_(t,r)&&(!re.has(e.kind)||v(t)>v(e))).sort((e,t)=>v(e)-v(t))[0]};for(let e of l)e.owner=f(e);let p=l.filter(e=>ne.has(e.kind));for(let t of l){if(t.kind!==`boundaryEvent`)continue;let n=t.host?u.get(t.host):void 0,i=g(t),a=p.filter(e=>e!==t).map(e=>({candidate:e,distance:y(e,i)})).filter(e=>e.distance<=25).sort((e,t)=>e.distance-t.distance)[0],o=n&&ne.has(n.kind)?n:a?.candidate;o?(t.hostNode=o,t.owner=o.owner):(t.kind=`intermediateCatchEvent`,r(`assumed`,e(`app.import.note.boundaryEvent`,{node:c(t)})))}let m=e=>{for(let t=e;t;t=t.owner)if(t.kind===`pool`)return t},h=l.filter(e=>e.kind===`pool`);if(h.length>0){let t=[];for(let e of l){if(e.kind===`pool`||m(e))continue;let n=h.map(t=>({pool:t,distance:y(t,g(e))})).sort((e,t)=>e.distance-t.distance)[0].pool;e.owner=e.kind===`lane`?n:e.owner??n,e.kind!==`lane`&&e.owner&&e.owner!==n||t.push(e)}if(t.length>0){let n=t.slice(0,5).map(c).join(`, `);r(`assumed`,e(`app.import.note.outsidePools`,{count:t.length,names:`${n}${t.length>5?`, ...`:``}`}))}}let b=e=>{let t=e.owner;return t?.kind===`lane`?t:void 0},x=e=>{for(let t=e.owner;t;t=t.owner)if(t.kind===`pool`||te.has(t.kind))return t};for(let e of l)e.bpmnId=o(e.kind===`pool`?`Participant`:e.kind===`lane`?`Lane`:ce[e.kind]??`Element`,e.id);let S=[],w=t=>t.name.trim()?`"${t.name.replace(/\s+/g,` `).trim()}"`:e(`app.import.unnamedConnector`);for(let n of t.flows){let t=u.get(n.source),i=u.get(n.target);if(!t||!i){r(`unmapped`,e(`app.import.note.flowNotAttached`,{flow:w(n)}));continue}if(t.kind===`lane`||i.kind===`lane`){r(`unmapped`,e(`app.import.note.flowOnLane`,{flow:w(n)}));continue}let a=n.kind===`sequence`?`sequence`:n.kind===`message`?`message`:`association`,o=ie.has(t.kind),s=ie.has(i.kind);if(t.kind===`textAnnotation`||i.kind===`textAnnotation`)a=`association`;else if(o||s){let n=o?i:t,l=ae.has(n.kind),u=n.kind===`endEvent`||n.kind===`intermediateThrowEvent`,d=ne.has(n.kind)||l&&(o?u:!u);o&&s?a=`association`:d&&a!==`message`?a=o?`dataInput`:`dataOutput`:(a=`association`,r(`assumed`,e(`app.import.note.dataAssociation`,{node:c(n)})))}else if(t.kind===`pool`||i.kind===`pool`)a!==`message`&&r(`assumed`,e(`app.import.note.flowToPool`,{flow:w(n)})),a=`message`;else{let o=m(t)!==m(i);a===`sequence`&&o?(a=`message`,r(`assumed`,e(`app.import.note.flowAcrossPools`,{flow:w(n),from:c(t),to:c(i)}))):a===`message`&&!o?(a=`association`,r(`assumed`,e(`app.import.note.messageInsidePool`,{flow:w(n)}))):a===`sequence`&&x(t)!==x(i)&&(a=`association`,r(`assumed`,e(`app.import.note.flowAcrossSubProcess`,{flow:w(n)})))}S.push({flow:n,bpmnId:``,kind:a,source:t,target:i})}for(let e of S){let t={sequence:`Flow`,message:`Flow`,association:`Association`,dataInput:`DataInputAssociation`,dataOutput:`DataOutputAssociation`}[e.kind];if(e.bpmnId=o(t,e.flow.id),e.kind===`sequence`)e.container=x(e.source);else if(e.kind===`association`){let t=x(e.source);e.container=t===x(e.target)?t:void 0}}let de=/* @__PURE__ */ new Map,fe=/* @__PURE__ */ new Map;for(let e of S)e.kind===`sequence`&&e.flow.isDefault&&fe.set(e.source,e);let pe=e=>l.filter(t=>x(t)===e&&t.kind!==`pool`&&t.kind!==`lane`),D=t=>{if(!t.definition)return``;let n=se[t.definition];return n?t.definition===`conditional`?`<bpmn:conditionalEventDefinition><bpmn:condition xsi:type="bpmn:tFormalExpression"/></bpmn:conditionalEventDefinition>`:t.definition===`link`?T(n,{name:t.name.trim()||`link`}):T(n,{}):(r(`lost`,e(`app.import.note.multipleEvent`,{node:c(t),kind:t.definition===`multiple`?`multiple`:e(`app.import.parallelMultiple`)})),``)},O=e=>e.loop===`standard`?`<bpmn:standardLoopCharacteristics/>`:e.loop===`parallel`?`<bpmn:multiInstanceLoopCharacteristics/>`:e.loop===`sequential`?`<bpmn:multiInstanceLoopCharacteristics isSequential="true"/>`:``,k=e=>{let t=S.filter(t=>t.kind===`dataInput`&&t.target===e||t.kind===`dataOutput`&&t.source===e),n=S.filter(t=>t.kind===`dataInput`&&t.target===e),r=S.filter(t=>t.kind===`dataOutput`&&t.source===e);if(t.length===0)return``;let i=n.length>0?o(`Property`,e.id):``;return i&&de.set(e.id,i),(i?`<bpmn:property id="${i}" name="__targetRef_placeholder"/>`:``)+n.map(e=>`<bpmn:dataInputAssociation id="${e.bpmnId}"><bpmn:sourceRef>${e.source.bpmnId}</bpmn:sourceRef><bpmn:targetRef>${i}</bpmn:targetRef></bpmn:dataInputAssociation>`).join(``)+r.map(e=>`<bpmn:dataOutputAssociation id="${e.bpmnId}"><bpmn:targetRef>${e.target.bpmnId}</bpmn:targetRef></bpmn:dataOutputAssociation>`).join(``)},me=e=>{let t={id:e.bpmnId,name:s(e)||void 0},n=fe.get(e),r=n?{...t,default:n.bpmnId}:t,i=ue(e.documentation);switch(e.kind){case`task`:return T(oe[e.taskType??`task`],r,i+k(e)+O(e));case`callActivity`:return T(`callActivity`,r,i+k(e)+O(e));case`subProcess`:case`transaction`:case`eventSubProcess`:return T(e.kind===`transaction`?`transaction`:`subProcess`,{...r,triggeredByEvent:e.kind===`eventSubProcess`?`true`:void 0},i+k(e)+O(e)+A(e));case`startEvent`:return T(`startEvent`,{...t,isInterrupting:e.interrupting===!1?`false`:void 0},i+k(e)+D(e));case`endEvent`:return T(`endEvent`,t,i+k(e)+D(e));case`intermediateCatchEvent`:return T(`intermediateCatchEvent`,t,i+k(e)+D(e));case`intermediateThrowEvent`:return T(`intermediateThrowEvent`,t,i+k(e)+D(e));case`boundaryEvent`:return T(`boundaryEvent`,{...t,cancelActivity:e.interrupting===!1?`false`:void 0,attachedToRef:e.hostNode?.bpmnId},i+k(e)+D(e));case`exclusiveGateway`:case`parallelGateway`:case`inclusiveGateway`:case`complexGateway`:case`eventBasedGateway`:return T(e.kind,r,i);case`dataObject`:return`${T(`dataObject`,{id:`${e.bpmnId}_object`})}${T(`dataObjectReference`,{...t,dataObjectRef:`${e.bpmnId}_object`},``)}`;case`dataStore`:return T(`dataStoreReference`,t,i);default:return``}},he=e=>{let t=pe(e).filter(e=>e.kind===`textAnnotation`),n=S.filter(t=>t.kind===`association`&&t.container===e);return t.map(e=>T(`textAnnotation`,{id:e.bpmnId},`<bpmn:text>${a(e.name.trim())}</bpmn:text>`)).join(``)+n.map(e=>T(`association`,{id:e.bpmnId,sourceRef:e.source.bpmnId,targetRef:e.target.bpmnId})).join(``)},ge=e=>{let t=pe(e).filter(e=>e.kind!==`textAnnotation`),n=S.filter(t=>t.kind===`sequence`&&t.container===e);return t.map(me).join(``)+n.map(e=>T(`sequenceFlow`,{id:e.bpmnId,name:e.flow.name.trim()||void 0,sourceRef:e.source.bpmnId,targetRef:e.target.bpmnId})).join(``)};function A(e){return ge(e)+he(e)}let j=e=>{let t=e=>l.filter(t=>t.kind===`lane`&&t.owner===e).map(e=>{let n=l.filter(t=>b(t)===e&&t.kind!==`textAnnotation`&&t.kind!==`pool`&&t.kind!==`lane`&&!ie.has(t.kind)).map(e=>`<bpmn:flowNodeRef>${e.bpmnId}</bpmn:flowNodeRef>`).join(``),r=t(e);return T(`lane`,{id:e.bpmnId,name:s(e)||void 0},n+(r?`<bpmn:childLaneSet id="${e.bpmnId}_children">${r}</bpmn:childLaneSet>`:``))}).join(``),n=t(e);return n?`<bpmn:laneSet id="${e.bpmnId}_lanes">${n}</bpmn:laneSet>`:``},_e=h.length>0,ve=/* @__PURE__ */ new Map,M=``,N=``;if(_e){N=o(`Collaboration`,`1`);let e=[];for(let t of h)if(l.some(e=>e!==t&&m(e)===t&&e.kind!==`lane`)||l.some(e=>e.kind===`lane`&&m(e)===t)){let n=o(`Process`,t.id);ve.set(t,n),e.push(T(`participant`,{id:t.bpmnId,name:s(t)||void 0,processRef:n})),M+=T(`process`,{id:n,isExecutable:`false`},ue(t.documentation)+j(t)+A(t))}else e.push(T(`participant`,{id:t.bpmnId,name:s(t)||void 0}));let t=S.filter(e=>e.kind===`message`).map(e=>T(`messageFlow`,{id:e.bpmnId,name:e.flow.name.trim()||void 0,sourceRef:e.source.bpmnId,targetRef:e.target.bpmnId})).join(``),n=S.filter(e=>e.kind===`association`&&!e.container).map(e=>T(`association`,{id:e.bpmnId,sourceRef:e.source.bpmnId,targetRef:e.target.bpmnId})).join(``);M=T(`collaboration`,{id:N},e.join(``)+t+n)+M}else{let e=o(`Process`,`1`);ve.set(void 0,e),N=e,M=T(`process`,{id:e,isExecutable:`false`},A(void 0))}let ye=e=>e.kind===`pool`?0:e.kind===`lane`?1:te.has(e.kind)?2:3,be=e=>l.some(t=>t.owner===e),xe=[...l].sort((e,t)=>ye(e)-ye(t)).map(e=>{let t={id:`${e.bpmnId}_di`,bpmnElement:e.bpmnId};(e.kind===`pool`||e.kind===`lane`)&&(t.isHorizontal=e.horizontal===!1?`false`:`true`),te.has(e.kind)&&(t.isExpanded=be(e)?`true`:`false`),e.kind===`exclusiveGateway`&&(t.isMarkerVisible=`true`);let n=`<dc:Bounds x="${E(e.x)}" y="${E(e.y)}" width="${E(e.width)}" height="${E(e.height)}"/>`;return`<bpmndi:BPMNShape${Object.entries(t).filter(e=>e[1]!==void 0).map(([e,t])=>` ${e}="${le(t)}"`).join(``)}>${n}</bpmndi:BPMNShape>`}).join(``),P=e=>{let{source:t,target:n,flow:r}=e,i=r.points??[];if(i.length===0&&r.orthogonal){let e=ee(t,n);if(e)return e}let a=C(t,i[0]??g(n)),o=C(n,i[i.length-1]??g(t));return[a,...i,o]},F=S.map(e=>{let t=P(e).map(e=>`<di:waypoint x="${E(e.x)}" y="${E(e.y)}"/>`).join(``);return`<bpmndi:BPMNEdge id="${e.bpmnId}_di" bpmnElement="${e.bpmnId}">${t}</bpmndi:BPMNEdge>`}).join(``),I=N;return{xml:`<?xml version="1.0" encoding="UTF-8"?>\n<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="${o(`Definitions`,`1`)}" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Penstock">\n${M}\n<bpmndi:BPMNDiagram id="${o(`BPMNDiagram`,`1`)}"><bpmndi:BPMNPlane id="${o(`BPMNPlane`,`1`)}" bpmnElement="${I}">${xe}${F}</bpmndi:BPMNPlane></bpmndi:BPMNDiagram>\n</bpmn:definitions>\n`,notes:n,summary:{elements:l.filter(e=>e.kind!==`pool`&&e.kind!==`lane`).length,flows:S.length,pools:h.length,lanes:l.filter(e=>e.kind===`lane`).length}}}const fe=[{shortcut:`Mod+Z`,action:`undo`,vscode:!1},{shortcut:`Mod+Y`,action:`redo`,vscode:!1},{shortcut:`Mod+Shift+Z`,action:`redo`,vscode:!1},{shortcut:`Mod+C`,action:`copy`,vscode:!1},{shortcut:`Mod+V`,action:`paste`,vscode:!1},{shortcut:`Mod+=`,action:`zoom-in`,vscode:!0},{shortcut:`Mod+-`,action:`zoom-out`,vscode:!0},{shortcut:`Mod+0`,action:`fit-diagram`,vscode:!0},{shortcut:`Mod+S`,action:null,vscode:!1},{shortcut:`Mod+A`,action:null,vscode:!1},{shortcut:`Mod+F`,action:null,vscode:!1}],pe={"=":`equal`,"-":`minus`};function D(e,t){let n=e.split(`+`),r=n.pop()??``,i=n.map(e=>e===`Mod`?t?`cmd`:`ctrl`:e.toLowerCase());return i.push(pe[r]??r.toLowerCase()),i.join(`+`)}function O(){return fe.filter(e=>e.vscode&&e.action!==null).map(e=>({command:`penstock.action.${e.action}`,key:D(e.shortcut,!1),mac:D(e.shortcut,!0),when:`penstockEditorFocused`}))}const k={off:`off`,warn:`warning`,warning:`warning`,error:`error`,info:`warning`},me=[`off`,`warning`,`error`],he=/* @__PURE__ */ new Set([`bpmnlint:recommended`,`bpmnlint:all`,`bpmnlint:correctness`]);function ge(e){return e<32||e>=127&&e<=159||e===1564||e===6158||e>=8203&&e<=8207||e>=8232&&e<=8238||e>=8288&&e<=8303||e===65279||e>=65529&&e<=65531}function A(e,t=80){let n=``;for(let r of e.slice(0,t))n+=ge(r.codePointAt(0)??0)?`?`:r;return n}function j(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function _e(e){let t=Array.isArray(e)?e[0]:e;return typeof t==`string`?Object.hasOwn(k,t)?k[t]:null:typeof t==`number`?me[t]??null:null}function ve(e){if(e.startsWith(`camunda-compat/`))return Object.hasOwn(l,e.slice(15))?`compat/${e.slice(15)}`:null;if(e.startsWith(`compat/`))return Object.hasOwn(l,e.slice(7))?e:null;if(e.startsWith(`penstock-engine/`))return Object.hasOwn(c,e.slice(16))?`engine/${e.slice(16)}`:null;let t=e.startsWith(`bpmnlint/`)?e.slice(9):e;return Object.hasOwn(u,t)?`bpmnlint/${t}`:null}function M(e){return he.has(e)||e.startsWith(`plugin:camunda-compat/`)}function N(e,t){let n;try{n=JSON.parse(e)}catch{return null}if(!j(n))return null;let r=n.extends,i=(Array.isArray(r)?r:r===void 0?[]:[r]).filter(e=>typeof e==`string`),a=j(n.rules)?n.rules:{},o=Object.keys(a).slice(0,2e3).map(e=>{let t=_e(a[e]);return{rule:A(e),level:t??`invalid`,penstock:t===null?null:ve(e)}});return{file:t,extends:i.slice(0,50).map(e=>({name:A(e),known:M(e)})),rules:o}}function ye(e,t){let n;try{n=JSON.parse(e)}catch{return null}return j(n)?{file:t,keys:Object.keys(n).slice(0,50).map(e=>A(e))}:null}function be(e){if(!j(e))return!1;let t=e.properties;return typeof e.name==`string`&&typeof e.id==`string`&&Array.isArray(e.appliesTo)&&(t===void 0||Array.isArray(t))}function xe(e){let t;try{t=JSON.parse(e)}catch{return null}let n=Array.isArray(t)?t:[t],r=n.filter(be).length;return{templates:r,invalid:n.length-r}}const P=`http://www.omg.org/spec/BPMN/20100524/MODEL`,F=`http://camunda.org/schema/1.0/bpmn`,I=`http://camunda.org/schema/zeebe/1.0`,Se=/^[$#]\{\s*([A-Za-z_]\w*)\s*\}$/,Ce=[`camunda7`,`camunda8`],we={camunda7:`Camunda 7`,camunda8:`Camunda 8`},Te=/* @__PURE__ */ new Set([`assignee`,`candidateUsers`,`candidateGroups`,`dueDate`,`priority`,`formKey`,`class`,`delegateExpression`,`expression`,`resultVariable`,`exclusive`,`collection`,`elementVariable`,`initiator`,`candidateStarterUsers`,`candidateStarterGroups`]),Ee=/* @__PURE__ */ new Set([`executionListener`,`taskListener`,`in`,`out`,`failedJobRetryTimeCycle`]),De=/* @__PURE__ */ new Set([`userTask`,`serviceTask`,`sendTask`,`businessRuleTask`]);function Oe(e){for(let t of e.scope.values())if(t===`http://flowable.org/bpmn`)return!0;return!1}function ke(e){return Ce.includes(e)}var L=class{counts=/* @__PURE__ */ new Map;add(e){let t=A(e);this.counts.set(t,(this.counts.get(t)??0)+1)}get total(){let e=0;for(let t of this.counts.values())e+=t;return e}list(){let e=[...this.counts.keys()].sort(),t=e.slice(0,20).map(e=>(this.counts.get(e)??0)>1?`${e} (${this.counts.get(e)})`:e);return e.length>20?`${t.join(`, `)}, …`:t.join(`, `)}};function Ae(e){let t=[],n=[{node:e,parent:null}];for(let e=n.pop();e;e=n.pop()){t.push(e);for(let t=e.node.children.length-1;t>=0;--t)n.push({node:e.node.children[t],parent:e.node})}return t}function je(e){let t=/* @__PURE__ */ new Set;for(let{node:n}of e){t.add(n.prefix);for(let e of Object.keys(n.attrs))e.startsWith(`xmlns:`)&&t.add(e.slice(6))}return t}function R(e,t,n){for(let[n,r]of Object.entries(e.root.attrs))if(n.startsWith(`xmlns:`)&&r===t)return n.slice(6);for(let[n,r]of e.added)if(r===t)return n;let r=n;for(let t=1;e.taken.has(r);t+=1)r=`${n}${t}`;return e.taken.add(r),e.added.set(r,t),e.root.attrs[`xmlns:${r}`]=t,r}function z(e,t,n,r,i){return{name:t?`${t}:${n}`:n,local:n,prefix:t,ns:r,attrs:i,children:[],text:``,scope:e.scope}}function B(e){let t=[];for(let n of Object.keys(e.attrs)){let r=n.indexOf(`:`);r<0||n.startsWith(`xmlns`)||e.scope.get(n.slice(0,r))===`http://flowable.org/bpmn`&&t.push({key:n,local:n.slice(r+1)})}return t}function Me(e,t){let n=t.children.find(e=>e.local===`extensionElements`&&e.ns===P);if(n)return n;let r=0;for(;r<t.children.length&&t.children[r].local===`documentation`&&t.children[r].ns===P;)r+=1;let i=z(t,t.prefix,`extensionElements`,P,{});return t.children.splice(r,0,i),i}function V(e,t,n,r){let i=Me(e,t);return!i.children.some(e=>e.ns===I&&e.local===n)&&(i.children.push(z(i,R(e,I,`zeebe`),n,I,r)),!0)}function Ne(e,t){e.children.splice(e.children.indexOf(t),1)}function Pe(e,t){let n=R(e,F,`camunda`);t.prefix=n,t.name=`${n}:${t.local}`,t.ns=F}function Fe(e,t){let n=t.trim();if(n===``||n.length>512)return null;if(!n.includes("${")&&!n.includes(`#{`))return n.startsWith(`=`)?null:n;let r=d(n);return r.ok?(e.expressions.add(n),r.feel):null}function Ie(e,t){let n=t.trim();if(n===``||n.length>512)return null;if(e===`class`)return n.includes("${")||n.includes(`#{`)?null:f(`class`,n);let r=Se.exec(n)?.[1];return r?f(`bean`,r):null}function Le(e,t){for(let{key:n,local:r}of B(t)){let i=r===`async`?`asyncBefore`:Te.has(r)?r:null;if(!i)continue;let a=t.attrs[n];delete t.attrs[n],t.attrs[`${R(e,F,`camunda`)}:${i}`]=a,e.converted+=1}}function Re(e,t,n){let r=t.attrs.id;if(!r)return!1;let i=R(e,F,`camunda`),a=n.children.find(e=>e.ns===F&&e.local===`formData`);a||(a=z(n,i,`formData`,F,{}),n.children.push(a));let o={id:r};t.attrs.name&&(o.label=t.attrs.name),t.attrs.type&&(o.type=t.attrs.type),t.attrs.default&&(o.defaultValue=t.attrs.default);let s=z(a,i,`formField`,F,o);for(let[n,r]of Object.entries(t.attrs))[`id`,`name`,`type`,`default`,`required`].includes(n)||(s.attrs[`${t.prefix}:${n}`]=r,e.kept.add(`flowable:formProperty.${n}`));if(t.attrs.required===`true`){let e=z(s,i,`validation`,F,{});e.children.push(z(e,i,`constraint`,F,{name:`required`,config:`true`})),s.children.push(e)}for(let n of t.children)n.ns===`http://flowable.org/bpmn`&&n.local===`value`?s.children.push(z(s,i,`value`,F,{...n.attrs})):e.kept.add(`flowable:${n.local}`);return a.children.push(s),Ne(n,t),e.converted+=1,!0}function ze(e,t,n,r){let i=n.local===`extensionElements`&&n.ns===P;if(t.local===`formProperty`)return i&&Re(e,t,n);let a=r.has(n)&&(n.local===`executionListener`||n.local===`taskListener`);return(Ee.has(t.local)?i:t.local===`field`?i||a:(t.local===`string`||t.local===`expression`)&&r.has(n)&&n.local===`field`)?(Pe(e,t),r.add(t),e.converted+=1,!0):!1}function Be(e,t){if(!De.has(t.local)||t.ns!==P)return;let n=new Map(B(t).map(({key:e,local:t})=>[t,e])),r=e=>{let r=n.get(e);return r===void 0?void 0:t.attrs[r]},i=r=>{let i=n.get(r);i!==void 0&&delete t.attrs[i],n.delete(r),e.converted+=1};if(t.local===`userTask`){let n={},a=[];for(let t of[`assignee`,`candidateUsers`,`candidateGroups`]){let i=r(t),o=i===void 0?null:Fe(e,i);o!==null&&(n[t]=o,a.push(t))}a.length>0&&V(e,t,`assignmentDefinition`,n)&&a.forEach(i);let o=r(`dueDate`),s=o===void 0?null:Fe(e,o);s!==null&&V(e,t,`taskSchedule`,{dueDate:s})&&i(`dueDate`);let c=r(`formKey`),l=c===void 0?null:Fe(e,c);l!==null&&V(e,t,`formDefinition`,{formKey:l})&&i(`formKey`);return}let a=r(`class`)===void 0?`delegateExpression`:`class`,o=r(a),s=o===void 0?null:Ie(a,o);s!==null&&V(e,t,`taskDefinition`,{type:s})&&(i(a),e.jobTypes.add(s))}function Ve(e,t,n){if(t.local!==`executionListener`||n.local!==`extensionElements`||n.ns!==P)return!1;let r=t.attrs.event,i=t.attrs.class===void 0?t.attrs.delegateExpression===void 0?null:Ie(`delegateExpression`,t.attrs.delegateExpression):Ie(`class`,t.attrs.class),a=Object.keys(t.attrs).some(e=>![`event`,`class`,`delegateExpression`].includes(e));if(r!==`start`&&r!==`end`||i===null||a||t.children.length>0)return!1;let o=n.children.find(e=>e.ns===I&&e.local===`executionListeners`);return o||(o=z(n,R(e,I,`zeebe`),`executionListeners`,I,{}),n.children.push(o)),o.children.push(z(o,o.prefix,`executionListener`,I,{eventType:r,type:i})),Ne(n,t),e.listeners.add(i),e.converted+=1,!0}function He(e){if(!e.some(({node:e})=>e.ns===`http://flowable.org/bpmn`||B(e).length>0))for(let{node:t}of e)for(let e of Object.keys(t.attrs))e.startsWith(`xmlns:`)&&t.attrs[e]===`http://flowable.org/bpmn`&&(delete t.attrs[e],t.scope.delete(e.slice(6)))}function Ue(t,n){let r=Ae(t),i={root:t,target:n,taken:je(r),added:/* @__PURE__ */ new Map,converted:0,kept:new L,jobTypes:new L,listeners:new L,expressions:new L},a=/* @__PURE__ */ new Set,o=/* @__PURE__ */ new Set,s=/* @__PURE__ */ new Set;for(let{node:e,parent:t}of r)if(s.has(e)||t&&(o.has(t)||s.has(t)))t&&o.has(t)&&o.add(e),t&&s.has(t)&&s.add(e);else if(e.ns===`http://flowable.org/bpmn`&&t){let r=n===`camunda7`?ze(i,e,t,a):Ve(i,e,t);r&&!t.children.includes(e)&&s.add(e),r||(i.kept.add(`flowable:${e.local}`),o.add(e))}else{n===`camunda7`?Le(i,e):Be(i,e);for(let{local:t}of B(e))i.kept.add(`flowable:${t}`)}if(i.added.size>0)for(let{node:e}of Ae(t))for(let[t,n]of i.added)e.scope.set(t,n);He(Ae(t));let c=we[n],l=[];return i.jobTypes.total>0&&l.push({level:`assumed`,message:e(`app.import.flowable.jobTypes`,{count:i.jobTypes.total,list:i.jobTypes.list()})}),i.listeners.total>0&&l.push({level:`assumed`,message:e(`app.import.flowable.listeners`,{count:i.listeners.total,list:i.listeners.list()})}),i.expressions.total>0&&l.push({level:`assumed`,message:e(`app.import.flowable.expressions`,{count:i.expressions.total,list:i.expressions.list()})}),i.kept.total>0&&l.push({level:`unmapped`,message:e(`app.import.flowable.kept`,{count:i.kept.total,target:c,list:i.kept.list()})}),{notes:l,converted:i.converted}}function We(e){return we[e]}const Ge=67108864;function Ke(t,n){return n>67108864?e(`app.import.failure.entryTooLarge`,{name:t}):null}function qe(t){return t.includes(`<!ENTITY`)?e(`app.import.failure.entities`):null}function Je(t){return t.length>16777216?e(`app.import.failure.tooComplex`):qe(t)}function Ye(t){let n=0,r=[{node:t,depth:1}];for(let t=r.pop();t;t=r.pop()){if(n+=1,n>1e6||t.depth>256)return e(`app.import.failure.tooComplex`);for(let e of t.node.children)r.push({node:e,depth:t.depth+1})}return null}var H=class extends Error{};const Xe=`http://www.omg.org/spec/BPMN/20100524/MODEL`,Ze=/* @__PURE__ */ new Set([Xe,`http://www.omg.org/spec/BPMN/20100524/DI`,`http://www.omg.org/spec/DD/20100524/DC`,`http://www.omg.org/spec/DD/20100524/DI`,`http://www.w3.org/2001/XMLSchema-instance`,`http://www.w3.org/XML/1998/namespace`,`http://camunda.org/schema/1.0/bpmn`,`http://camunda.org/schema/zeebe/1.0`,`http://camunda.org/schema/modeler/1.0`,`http://bpmn.io/schema/bpmn/biocolor/1.0`,`http://www.omg.org/spec/BPMN/non-normative/color/1.0`]);function Qe(e,t){let n=0,r=[e];for(let e=r.pop();e;e=r.pop()){e.ns===t&&(n+=1);for(let r of Object.keys(e.attrs)){let i=r.indexOf(`:`);i>0&&!r.startsWith(`xmlns`)&&e.scope.get(r.slice(0,i))===t&&(n+=1)}r.push(...e.children)}return n}function $e(e,t){if(Oe(e))return`Flowable`;let n=`${t.slice(0,4e3)} ${e.attrs.exporter??``}`.toLowerCase();return n.includes(`signavio`)?`Signavio`:n.includes(`bizagi`)?`Bizagi`:`BPMN 2.0`}function et(e){let t=e.toLowerCase();return t.includes(`signavio`)?`Signavio`:t.includes(`bizagi`)?`Bizagi`:e}function U(e){let t=et(e);return t===`Signavio`||t===`Bizagi`}function tt(e,t){let n=t.indexOf(`:`);return n<0||t.startsWith(`xmlns`)?null:e.scope.get(t.slice(0,n))??``}function nt(e){return e.text.trim()!==``||e.children.length>0||Object.entries(e.attrs).some(([e,t])=>!e.startsWith(`xmlns`)&&t.trim()!==``)}function rt(t,n={}){let r=Je(t);if(r)throw new H(r);let a=i(t),s=Ye(a);if(s)throw new H(s);if(a.local!==`definitions`||a.ns!==Xe)throw new H(e(`app.import.failure.notBpmnXml`));let c=$e(a,t),l=new Set(Ze),u=Qe(a,`http://camunda.org/schema/1.0/bpmn`),d=Qe(a,`http://camunda.org/schema/zeebe/1.0`),f=c===`Flowable`?Ue(a,n.target??`camunda7`):null;f&&l.add(`http://flowable.org/bpmn`);let p=/* @__PURE__ */ new Map,m=/* @__PURE__ */ new Map,h=(e,t)=>{let n=A(et(e)),r=U(e)?m:p,i=r.get(n)??/* @__PURE__ */ new Map,a=A(t);i.set(a,(i.get(a)??0)+1),r.set(n,i)},g=e=>{for(let t of Object.keys(e.attrs)){let n=tt(e,t);n===null||l.has(n)||(e.attrs[t].trim()!==``&&h(n,t),U(n)||delete e.attrs[t])}e.children=e.children.filter(e=>{if(l.has(e.ns))return!0;if(e.local===`signavioMetaData`||e.local===`signavioDiagramMetaData`)(e.attrs.metaValue??``).trim()!==``&&h(e.ns,e.attrs.metaKey??e.local);else if(nt(e)){let t=e.children.filter(e=>nt(e)),n=Object.entries(e.attrs).filter(([e,t])=>!e.startsWith(`xmlns`)&&t.trim()!==``).map(([e])=>e);if(n.length>0)for(let t of n)h(e.ns,t.includes(`:`)?t.slice(t.indexOf(`:`)+1):t);else if(t.length>0)for(let n of t)h(e.ns,n.local);else h(e.ns,e.local)}return U(e.ns)});for(let t of e.children)U(t.ns)||g(t);e.children=e.children.filter(e=>e.local!==`extensionElements`||e.ns!==Xe||e.children.length!==0||e.text.trim()!==``)};g(a);let _=/* @__PURE__ */ new Set,v=e=>{_.add(e.prefix);for(let t of Object.keys(e.attrs))t.includes(`:`)&&!t.startsWith(`xmlns`)&&_.add(t.slice(0,t.indexOf(`:`)));e.children.forEach(v)};v(a);let y=e=>{for(let t of Object.keys(e.attrs))t.startsWith(`xmlns:`)&&(l.has(e.attrs[t])||U(e.attrs[t])||_.has(t.slice(6))||delete e.attrs[t]);e.children.forEach(y)};y(a);let b=f?[...f.notes]:[],x=new Set(W(a,`BPMNShape`).map(e=>e.attrs.bpmnElement));if(x.size===0||W(a,`BPMNPlane`).length===0)throw new H(e(`app.import.failure.noPositions`));let S=W(a,`dataObject`).filter(e=>x.has(e.attrs.id));if(S.length>0){for(let e of S){let t={id:`${e.attrs.id}_reference`,dataObjectRef:e.attrs.id};e.attrs.name&&(t.name=e.attrs.name);let n={...e,name:it(e,`dataObjectReference`),local:`dataObjectReference`,attrs:t,children:[]};delete e.attrs.name;let r=at(a,e);r?.children.splice(r.children.indexOf(e)+1,0,n);for(let t of W(a,`BPMNShape`))t.attrs.bpmnElement===e.attrs.id&&(t.attrs.bpmnElement=n.attrs.id);for(let t of[...W(a,`association`),...W(a,`sourceRef`),...W(a,`targetRef`)])t.attrs.sourceRef===e.attrs.id&&(t.attrs.sourceRef=n.attrs.id),t.attrs.targetRef===e.attrs.id&&(t.attrs.targetRef=n.attrs.id),t.text.trim()===e.attrs.id&&(t.text=n.attrs.id)}b.push({level:`assumed`,message:e(`app.import.note.dataObjects`,{count:S.length})})}for(let[t,n]of p){let r=[...n.values()].reduce((e,t)=>e+t,0),i=[...n.entries()].map(([e,t])=>t>1?`${e} (${t})`:e).join(`, `);b.push({level:`lost`,message:e(`app.import.note.vendorData`,{vendor:t,total:r,list:i})})}for(let[t,n]of m){let r=[...n.values()].reduce((e,t)=>e+t,0),i=[...n.entries()].map(([e,t])=>t>1?`${e} (${t})`:e).join(`, `);b.push({level:`unmapped`,message:e(`app.import.note.vendorKept`,{vendor:t,total:r,list:i})})}a.attrs.id||(a.attrs.id=`Definitions_1`);let C=[];return f&&f.converted>0&&C.push({kind:`converted`,count:f.converted,target:We(n.target??`camunda7`)}),u>0&&C.push({kind:`camunda`,count:u}),d>0&&C.push({kind:`zeebe`,count:d}),{xml:`<?xml version="1.0" encoding="UTF-8"?>\n${o(a)}\n`,format:c,notes:b,details:C}}function it(e,t){return e.prefix?`${e.prefix}:${t}`:t}function W(e,t){let n=[],r=e=>{e.local===t&&n.push(e),e.children.forEach(r)};return r(e),n}function at(e,t){if(e.children.includes(t))return e;for(let n of e.children){let e=at(n,t);if(e)return e}}const ot={nbsp:` `,lt:`<`,gt:`>`,quot:`"`,apos:`'`,amp:`&`};function st(e){return e.replace(/&(#x[0-9a-f]+|#\d+|[a-z]+);/gi,(e,t)=>t.startsWith(`#x`)||t.startsWith(`#X`)?String.fromCodePoint(parseInt(t.slice(2),16)):t.startsWith(`#`)?String.fromCodePoint(parseInt(t.slice(1),10)):ot[t.toLowerCase()]??e)}function ct(e){return st(e.replace(/<br\s*\/?>/gi,`
|
|
2
|
-
`).replace(/<\/(div|p|li|h[1-6]|tr)>/gi,`
|
|
3
|
-
`).replace(/<[^>]*>/g,``)).replace(/ /g,` `).replace(/[ \t]+\n/g,`
|
|
4
|
-
`).replace(/\n{3,}/g,`
|
|
5
|
-
|
|
6
|
-
`).trim()}function G(e,t){return t?ct(e):e.trim()}var K=class extends Error{};function lt(t){let n=[],r=0;new p(t=>{if(r+=t.length,r>33554432)throw new K(e(`app.import.failure.pageTooLarge`));n.push(t)}).push(t,!0);let i=new Uint8Array(r),a=0;for(let e of n)i.set(e,a),a+=e.length;return i}function ut(e){let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Set;for(let r of e.split(`;`)){if(!r.trim())continue;let e=r.indexOf(`=`);e<0?n.add(r.trim().toLowerCase()):t.set(r.slice(0,e).trim(),r.slice(e+1).trim())}return{map:t,tokens:n}}function dt(e){let t=atob(e.replace(/\s+/g,``)),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n}function ft(t){let n=t.children.find(e=>e.local===`mxGraphModel`);if(n)return n;let r=t.text.trim();if(!r)throw new K(e(`app.import.failure.pageEmpty`));try{return r.startsWith(`<`)?i(r):r.startsWith(`%3C`)?i(decodeURIComponent(r)):i(decodeURIComponent(m(lt(dt(r)))))}catch(t){throw t instanceof K?t:new K(e(`app.import.failure.compressedPage`))}}const q=(e,t=0)=>{let n=Number(e);return e!==void 0&&e!==``&&Number.isFinite(n)?n:t};function pt(t){let n=t.children.find(e=>e.local===`root`);if(!n)throw new K(e(`app.import.failure.pageNoCells`));let r=[];for(let e of n.children){let t=e.local===`object`||e.local===`UserObject`,n=t?e.children.find(e=>e.local===`mxCell`):e.local===`mxCell`?e:void 0;if(!n)continue;let i=n.children.find(e=>e.local===`mxGeometry`),a=(i?.children.find(e=>e.local===`Array`&&e.attrs.as===`points`)?.children??[]).filter(e=>e.local===`mxPoint`).map(e=>({x:q(e.attrs.x),y:q(e.attrs.y)})),o={};if(t)for(let[t,n]of Object.entries(e.attrs))[`id`,`label`].includes(t)||(o[t]=n);r.push({id:(t?e.attrs.id:n.attrs.id)??``,value:t?e.attrs.label??n.attrs.value??``:n.attrs.value??``,style:n.attrs.style??``,vertex:n.attrs.vertex===`1`,edge:n.attrs.edge===`1`,parent:n.attrs.parent??``,source:n.attrs.source??``,target:n.attrs.target??``,geometry:{x:q(i?.attrs.x),y:q(i?.attrs.y),width:q(i?.attrs.width),height:q(i?.attrs.height),points:a},properties:o,hidden:n.attrs.visible===`0`})}return r}const mt={service:`service`,user:`user`,script:`script`,send:`send`,receive:`receive`,manual:`manual`,businessrule:`businessRule`},ht={general:void 0,none:void 0,message:`message`,timer:`timer`,escalation:`escalation`,conditional:`conditional`,link:`link`,error:`error`,cancel:`cancel`,compensation:`compensation`,signal:`signal`,multiple:`multiple`,parallelmultiple:`parallelMultiple`,terminate:`terminate`},gt=/* @__PURE__ */ new Set([``,`rect`,`rectangle`,`ellipse`,`rhombus`,`text`,`note`,`swimlane`,`partialrectangle`,`table`,`tablerow`]);function _t(e){let t=(e.map.get(`symbol`)??``).toLowerCase(),n=(e.map.get(`outline`)??``).toLowerCase();return t.includes(`parallelmultiple`)||t.includes(`event`)||t.includes(`multiple`)&&n!==`none`?`eventBasedGateway`:t.includes(`exclusive`)?`exclusiveGateway`:t.includes(`parallel`)?`parallelGateway`:t.includes(`complex`)?`complexGateway`:t.includes(`inclusive`)||n===`end`?`inclusiveGateway`:n===`catching`?`eventBasedGateway`:`exclusiveGateway`}function vt(e){let t=(e.map.get(`outline`)??`standard`).toLowerCase(),n=(e.map.get(`symbol`)??`general`).toLowerCase(),r=n in ht,i=r?ht[n]:void 0,a={standard:[`startEvent`],eventint:[`startEvent`],eventnonint:[`startEvent`,!1],end:[`endEvent`],throwing:[`intermediateThrowEvent`],catching:[`intermediateCatchEvent`],boundint:[`boundaryEvent`],boundnonint:[`boundaryEvent`,!1]},[o,s]=a[t]??a.standard;return{kind:o,fields:{definition:i,interrupting:s},unknownSymbol:r?void 0:n}}function yt(e){if(e.map.get(`isLoopMultiInstance`)===`1`)return e.map.get(`isSequential`)===`1`?`sequential`:`parallel`;if(e.map.get(`isLoopStandard`)===`1`)return`standard`}function bt(t,n){let r=(n.map.get(`shape`)??``).toLowerCase(),{tokens:i}=n,a=r.startsWith(`mxgraph.bpmn.`);if(i.has(`swimlane`)||r===`swimlane`||r===`table`)return{kind:`pool`,fields:{horizontal:n.map.get(`horizontal`)===`0`||r===`table`}};if(r===`tablerow`)return{kind:`lane`,fields:{horizontal:!0}};if(r.startsWith(`mxgraph.bpmn.shape`)||r.startsWith(`mxgraph.bpmn.event`)){let t=vt(n);return{kind:t.kind,fields:t.fields,note:t.unknownSymbol?{level:`lost`,message:e(`app.import.note.unknownEvent`,{symbol:t.unknownSymbol})}:void 0}}return r.startsWith(`mxgraph.bpmn.gateway`)?{kind:_t(n)}:r===`datastore`||a&&/store/.test(r)?{kind:`dataStore`}:a&&r.startsWith(`mxgraph.bpmn.data`)?{kind:`dataObject`,fields:{collection:n.map.get(`isCollection`)===`1`}}:a&&r.startsWith(`mxgraph.bpmn.annotation`)||r===`partialrectangle`?{kind:`textAnnotation`}:a&&r.startsWith(`mxgraph.bpmn.task`)?xt(n):r===`ext`?n.map.get(`double`)===`1`?{kind:`transaction`}:q(n.map.get(`strokeWidth`))>=3?{kind:`callActivity`}:n.map.get(`dashed`)===`1`?{kind:`eventSubProcess`}:xt(n):gt.has(r)?i.has(`rhombus`)||r===`rhombus`?{kind:`exclusiveGateway`,note:{level:`assumed`,message:e(`app.import.note.diamond`,{shape:St(t)})}}:i.has(`ellipse`)||r===`ellipse`?{pending:`event`}:i.has(`text`)||r===`text`?{kind:`textAnnotation`,note:{level:`assumed`,message:e(`app.import.note.freeText`,{shape:St(t)})}}:r===`note`?{kind:`textAnnotation`,note:{level:`assumed`,message:e(`app.import.note.noteShape`,{shape:St(t)})}}:n.map.get(`rounded`)===`1`?xt(n):{kind:`task`,note:{level:`assumed`,message:e(`app.import.note.rectangle`,{shape:St(t)})}}:{}}function xt(e){let n=(e.map.get(`bpmnShapeType`)??``).toLowerCase();if(n===`call`)return{kind:`callActivity`,fields:{loop:yt(e)}};if(n===`transaction`)return{kind:`transaction`};if(n===`subprocess`)return{kind:`subProcess`};if(n===`event`)return{kind:`eventSubProcess`};let r=(e.map.get(`taskMarker`)??``).toLowerCase();return{kind:`task`,fields:{taskType:t(mt,r)??`task`,loop:yt(e)}}}function St(t){let n=G(t.value,!0).replace(/\s+/g,` `);return n?`"${n}"`:e(`app.import.note.anUnlabelledShape`)}function Ct(t,n){let r=n.map.get(`shape`)??[...n.tokens][0]??`rectangle`,i=G(t.value,!0).replace(/\s+/g,` `);return i?e(`app.import.note.unmappedLabelled`,{label:i,shape:r}):e(`app.import.note.unlabelledShape`,{shape:r,count:1})}function wt(e){let t=e.map.get(`dashed`)===`1`,n=e.map.get(`startArrow`)??``,r=e.map.get(`endArrow`)??`classic`;return t&&(n===`oval`||e.map.get(`endFill`)===`0`&&r!==`none`)?`message`:t?`association`:`sequence`}function Tt(t){let n=i(t),r=[],a;if(n.local===`mxGraphModel`)a=n;else{let t=n.children.filter(e=>e.local===`diagram`);if(t.length===0)throw new K(e(`app.import.failure.noPages`));let i=t.map(e=>({page:e,model:ft(e)})),o=i.find(e=>pt(e.model).some(e=>e.vertex))??i[0];a=o.model;for(let t of i){if(t===o)continue;let n=pt(t.model).filter(e=>e.vertex).length;r.push({level:`unmapped`,message:e(`app.import.note.otherPage`,{page:t.page.attrs.name??e(`app.import.note.untitled`),shapes:n,count:n})})}}let o=pt(a).filter(e=>e.id!==``&&!e.hidden),s=new Map(o.map(e=>[e.id,e])),c=new Map(o.map(e=>[e.id,ut(e.style)])),l=/* @__PURE__ */ new Map,u=(e,t=0)=>{let n=l.get(e.id);if(n)return n;let r=s.get(e.parent),i=r&&r.vertex&&t<50?u(r,t+1):{x:0,y:0},a={x:i.x+e.geometry.x,y:i.y+e.geometry.y};return l.set(e.id,a),a},d=e=>{let t=s.get(e.parent);return t&&t.vertex?u(t):{x:0,y:0}},f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Set;for(let e of o){let t=c.get(e.id);e.vertex&&t.tokens.has(`edgelabel`)&&s.get(e.parent)?.edge&&f.set(e.parent,G(e.value,t.map.get(`html`)===`1`));let n=s.get(e.parent);e.vertex&&n&&(c.get(n.id)?.map.get(`shape`)??``).toLowerCase()===`tablerow`&&p.add(e.id)}let m=[],h=[],g=[],_=/* @__PURE__ */ new Map,v=0;for(let e of o){if(!e.vertex)continue;let t=c.get(e.id);if(t.tokens.has(`edgelabel`)&&s.get(e.parent)?.edge)continue;let n=s.get(e.parent);if(p.has(e.id)&&(c.get(e.id)?.map.get(`shape`)??``).toLowerCase()===`partialrectangle`){let r=m.find(e=>e.id===n?.id);r&&!r.name&&e.value&&(r.name=G(e.value,t.map.get(`html`)===`1`));continue}let i=bt(e,t);if(!i.kind&&!i.pending){let n=t.map.get(`shape`)??[...t.tokens][0]??`rectangle`;g.push({text:Ct(e,t),shape:n,labelled:G(e.value,!0)!==``});continue}i.note&&r.push(i.note);let a=u(e),o=t.map.get(`html`)===`1`,l=e.properties.documentation??e.properties.tooltip,d={id:e.id,kind:i.kind??`startEvent`,name:G(e.value,o),x:a.x,y:a.y,width:e.geometry.width||100,height:e.geometry.height||80,parent:n&&n.vertex?n.id:void 0,documentation:l?G(l,!1):void 0,...i.fields};m.push(d),i.pending&&h.push(d);let f=Object.keys(e.properties).filter(e=>![`documentation`,`tooltip`,`placeholders`,`link`].includes(e));if(f.length>0){v+=1;for(let e of f)_.set(e,(_.get(e)??0)+1)}}w(m);let y=[];for(let e of o){if(!e.edge)continue;let t=c.get(e.id),n=G(e.value,t.map.get(`html`)===`1`)||f.get(e.id)||``,r=d(e),i=(t.map.get(`edgeStyle`)??``).toLowerCase(),a=t.map.get(`startArrow`)??``;y.push({id:e.id,kind:wt(t),source:e.source,target:e.target,name:n,points:e.geometry.points.map(e=>({x:e.x+r.x,y:e.y+r.y})),orthogonal:i.includes(`orthogonal`)||i.includes(`elbow`),isDefault:a===`dash`||a===`dashThin`,documentation:e.properties.documentation})}for(let t of h){let n=y.filter(e=>e.target===t.id&&e.kind===`sequence`).length,i=y.filter(e=>e.source===t.id&&e.kind===`sequence`).length;t.kind=n===0&&i>0?`startEvent`:i===0&&n>0?`endEvent`:`intermediateThrowEvent`,(t.width>80||t.height>80)&&(t.width=t.height=36);let a=t.kind===`startEvent`?e(`app.import.note.aStartEvent`):t.kind===`endEvent`?e(`app.import.note.anEndEvent`):e(`app.import.note.anIntermediateEvent`);r.push({level:`assumed`,message:e(`app.import.note.circle`,{shape:t.name?`"${t.name.replace(/\s+/g,` `)}"`:e(`app.import.note.anUnlabelledCircle`),kind:a})})}let b=g.filter(e=>e.labelled);for(let e of b)r.push({level:`unmapped`,message:e.text});let x=g.filter(e=>!e.labelled),S=/* @__PURE__ */ new Map;for(let e of x)S.set(e.shape,(S.get(e.shape)??0)+1);for(let[t,n]of S)r.push({level:`unmapped`,message:e(`app.import.note.unlabelledShape`,{count:n,shape:t})});return _.size>0&&r.push({level:`lost`,message:e(`app.import.note.customData`,{count:v,keys:[..._.keys()].join(`, `)})}),{nodes:m,flows:y,notes:r}}var J=class extends Error{};function Et(e){return e.length>4&&e[0]===80&&e[1]===75&&(e[2]===3||e[2]===5)&&(e[3]===4||e[3]===6)}function Dt(e){return e.length>8&&[208,207,17,224,161,177,26,225].every((t,n)=>e[n]===t)}function Ot(t,n){let r=0;try{let i=h(t,{filter(t){if(!n(t.name))return!1;if(t.originalSize>67108864)throw new J(e(`app.import.failure.entryTooLarge`,{name:t.name}));if(r+=t.originalSize,r>268435456)throw new J(e(`app.import.failure.archiveTooLarge`));return!0}});return new Map(Object.entries(i))}catch(t){throw t instanceof J?t:new J(e(`app.import.failure.notZip`))}}function Y(e,t){let n=e.get(t);return n?m(n).replace(/^/,``):void 0}var kt=class extends Error{};const X=e=>e.toLowerCase().replace(/[^a-z0-9]/g,``);function At(e){let t=/* @__PURE__ */ new Map;for(let n of e.children){if(n.local!==`Cell`||!n.attrs.N)continue;let e=Number(n.attrs.V);n.attrs.V!==void 0&&n.attrs.V!==``&&Number.isFinite(e)&&t.set(n.attrs.N,e)}return t}function jt(e){let t=/* @__PURE__ */ new Map;for(let n of e.children.filter(e=>e.local===`Section`&&e.attrs.N===`Property`))for(let e of n.children.filter(e=>e.local===`Row`)){let n=e.children.find(e=>e.local===`Cell`&&e.attrs.N===`Value`);e.attrs.N&&n?.attrs.V!==void 0&&t.set(X(e.attrs.N),n.attrs.V)}return t}function Mt(e){let t=e.children.find(e=>e.local===`Section`&&e.attrs.N===`Geometry`);if(!t)return[];let n=[];for(let e of t.children.filter(e=>e.local===`Row`)){let t=e.attrs.T??``;if(!e.attrs.T&&e.attrs.N)continue;if(t!==`MoveTo`&&t!==`LineTo`)return null;let r=At(e);n.push({type:t,x:r.get(`X`)??0,y:r.get(`Y`)??0})}return n}function Nt(e,t){let n=/* @__PURE__ */ new Map,r=Y(e,t);if(!r)return n;for(let e of i(r).children.filter(e=>e.local===`Relationship`))e.attrs.Id&&e.attrs.Target&&n.set(e.attrs.Id,e.attrs.Target);return n}function Pt(e,t,n,r){if(e)for(let i of e.children.filter(e=>e.local===`Shape`)){let e=At(i),a={x:(e.get(`PinX`)??0)-(e.get(`LocPinX`)??0),y:(e.get(`PinY`)??0)-(e.get(`LocPinY`)??0)},o=i.attrs.Master??i.attrs.MasterShape,s=i.children.find(e=>e.local===`Shapes`);r.push({id:i.attrs.ID,master:(o?t.get(o):void 0)??(i.attrs.NameU??i.attrs.Name??``).replace(/\.\d+$/,``),text:(i.children.find(e=>e.local===`Text`)?.text??``).replace(/\s+$/g,``).replace(/^\s+/,``),cells:e,props:jt(i),rows:Mt(i)??[],node:i,origin:n,group:i.attrs.Type===`Group`}),s&&Pt(s,t,{x:n.x+a.x,y:n.y+a.y},r)}}const Ft=[[`parallelmultiple`,`parallelMultiple`],[`multiple`,`multiple`],[`message`,`message`],[`timer`,`timer`],[`error`,`error`],[`escalation`,`escalation`],[`cancel`,`cancel`],[`compensation`,`compensation`],[`conditional`,`conditional`],[`rule`,`conditional`],[`link`,`link`],[`signal`,`signal`],[`terminate`,`terminate`]],It=[[`service`,`service`],[`send`,`send`],[`receive`,`receive`],[`user`,`user`],[`manual`,`manual`],[`businessrule`,`businessRule`],[`script`,`script`]];function Z(e,t){for(let n of t){let t=e.get(n);if(t!==void 0)return X(t)}return``}function Lt(e){let t=Z(e,[`looptype`,`loop`,`loopcharacteristics`]);if(t.includes(`multi`)||t.includes(`parallel`))return`parallel`;if(t.includes(`sequential`))return`sequential`;if(t.includes(`standard`)||t===`loop`)return`standard`}function Rt(e,t){let n=Z(e,[`gatewaytype`,`type`])||X(t);return n.includes(`event`)?`eventBasedGateway`:n.includes(`parallel`)?`parallelGateway`:n.includes(`inclusive`)?`inclusiveGateway`:n.includes(`complex`)?`complexGateway`:`exclusiveGateway`}function zt(e){let t=X(e.master);if(e.cells.has(`BeginX`)&&e.cells.has(`EndX`))return t.includes(`message`)?{flow:`message`}:t.includes(`association`)?{flow:`association`}:t.includes(`default`)?{flow:`sequence`,isDefault:!0}:t.includes(`sequence`)||t.includes(`conditional`)?{flow:`sequence`}:{flow:`sequence`,generic:!0};if(t.includes(`pool`)||t.includes(`swimlane`))return{kind:`pool`,fields:{horizontal:(e.cells.get(`Width`)??0)>=(e.cells.get(`Height`)??0)}};if(t===`lane`||t.startsWith(`lane`))return{kind:`lane`,fields:{horizontal:!0}};if(t.includes(`startevent`)||t.includes(`intermediateevent`)||t.includes(`endevent`)||t===`event`){let n=Z(e.props,[`eventtype`,`type`]),r=t.includes(`start`)||n===`start`?`start`:t.includes(`end`)||n===`end`?`end`:`intermediate`,i=Z(e.props,[`triggerorresult`,`trigger`,`result`,`eventtrigger`,`eventdefinition`]),a=Ft.find(([e])=>i.includes(e))?.[1],o=[...e.props.entries()].some(([e,t])=>(e.includes(`throw`)||X(t).includes(`throw`))&&X(t)!==`false`&&X(t)!==`no`),s=r===`start`?`startEvent`:r===`end`?`endEvent`:o?`intermediateThrowEvent`:`intermediateCatchEvent`,c=Z(e.props,[`interrupting`,`iscancelactivity`]);return{kind:s,fields:{definition:a,interrupting:c===`false`||c===`no`?!1:void 0}}}if(t.includes(`gateway`))return{kind:Rt(e.props,e.master)};if(t.includes(`callactivity`))return{kind:`callActivity`,fields:{loop:Lt(e.props)}};if(t.includes(`subprocess`)){let t=Z(e.props,[`subprocesstype`,`type`]);return{kind:t.includes(`transaction`)?`transaction`:t.includes(`event`)?`eventSubProcess`:`subProcess`,fields:{loop:Lt(e.props)}}}if(t===`task`||t.startsWith(`task`)){let t=Z(e.props,[`tasktype`,`type`]);return{kind:`task`,fields:{taskType:It.find(([e])=>t.includes(e))?.[1]??`task`,loop:Lt(e.props)}}}return t.includes(`datastore`)?{kind:`dataStore`}:t.includes(`dataobject`)||t.includes(`datainput`)||t.includes(`dataoutput`)?{kind:`dataObject`,fields:{collection:Z(e.props,[`iscollection`,`collection`])===`true`}}:t.includes(`annotation`)?{kind:`textAnnotation`}:null}function Q(e){return e*96}function Bt(t){let n=Ot(t,e=>/^visio\/.*\.(xml|rels)$/i.test(e));if(!n.has(`visio/document.xml`))throw new kt(e(`app.import.failure.notVisio`));let r=Y(n,`visio/pages/pages.xml`);if(!r)throw new kt(e(`app.import.failure.noVisioPages`));let a=/* @__PURE__ */ new Map,o=Y(n,`visio/masters/masters.xml`);if(o)for(let e of i(o).children.filter(e=>e.local===`Master`))a.set(e.attrs.ID,e.attrs.NameU??e.attrs.Name??``);let s=Nt(n,`visio/pages/_rels/pages.xml.rels`),c=i(r).children.filter(e=>e.local===`Page`).map(e=>{let t=e.children.find(e=>e.local===`PageSheet`),n=e.children.find(e=>e.local===`Rel`),r=n?s.get(n.attrs[`r:id`]??n.attrs.id??``):void 0,i=r?`visio/pages/${r.replace(/^\.?\//,``)}`:``;return{name:e.attrs.NameU??e.attrs.Name??`untitled`,height:(t?At(t).get(`PageHeight`):void 0)??8.5,file:i}}).map(e=>({page:e,text:Y(n,e.file)})).filter(e=>e.text!==void 0).map(e=>({...e,root:i(e.text)})).map(e=>({...e,shapes:[]}));for(let e of c)Pt(e.root.children.find(e=>e.local===`Shapes`),a,{x:0,y:0},e.shapes);let l=c.find(e=>e.shapes.length>0);if(!l)throw new kt(e(`app.import.failure.noShapes`));let u=[];for(let t of c)t!==l&&t.shapes.length!==0&&u.push({level:`unmapped`,message:e(`app.import.note.otherVisioPage`,{page:t.page.name,shapes:t.shapes.length,count:t.shapes.length})});let d=l.page.height,f=[],p=[],m=/* @__PURE__ */ new Map,h=l.root.children.find(e=>e.local===`Connects`);for(let e of h?.children.filter(e=>e.local===`Connect`)??[]){let t=e.attrs.FromSheet,n=m.get(t)??{};(e.attrs.FromCell??``).startsWith(`Begin`)&&(n.source=e.attrs.ToSheet),(e.attrs.FromCell??``).startsWith(`End`)&&(n.target=e.attrs.ToSheet),m.set(t,n)}let _=0,v=0,b=[],x=e=>e.text.replace(/\s+/g,` `);for(let t of l.shapes){(t.cells.get(`Angle`)??0)!==0&&(v+=1);let n=zt(t);if(n&&`flow`in n){let e={x:Q(t.cells.get(`BeginX`)??0),y:Q(d-(t.cells.get(`BeginY`)??0))},r={x:Q(t.cells.get(`EndX`)??0),y:Q(d-(t.cells.get(`EndY`)??0))},i=t.origin.x+(t.cells.get(`PinX`)??0)-(t.cells.get(`LocPinX`)??0),a=t.origin.y+(t.cells.get(`PinY`)??0)-(t.cells.get(`LocPinY`)??0),o=t.rows.slice(1,-1).map(e=>({x:Q(i+e.x),y:Q(d-(a+e.y))})).filter(t=>!(Math.abs(t.x-e.x)<.5&&Math.abs(t.y-e.y)<.5)&&!(Math.abs(t.x-r.x)<.5&&Math.abs(t.y-r.y)<.5));n.generic&&(_+=1);let s=m.get(t.id)??{};p.push({id:t.id,kind:n.flow,source:s.source??``,target:s.target??``,name:x(t),points:o,isDefault:n.isDefault})}else if(n&&`kind`in n){let e=t.cells.get(`Width`)??1,r=t.cells.get(`Height`)??1,i=t.origin.x+(t.cells.get(`PinX`)??0)-(t.cells.get(`LocPinX`)??e/2),a=t.origin.y+(t.cells.get(`PinY`)??0)-(t.cells.get(`LocPinY`)??r/2);f.push({id:t.id,kind:n.kind,name:x(t),x:Q(i),y:Q(d-a-r),width:Q(e),height:Q(r),...n.fields})}else(!t.group||n)&&b.push(x(t)?e(`app.import.note.unmappedLabelled`,{label:x(t),shape:t.master||e(`app.import.note.aShape`)}):e(`app.import.note.unlabelledMaster`,{shape:t.master||e(`app.import.note.shape`)}))}u.push(...b.map(e=>({level:`unmapped`,message:e}))),_>0&&u.push({level:`assumed`,message:e(`app.import.note.genericConnectors`,{count:_})}),v>0&&u.push({level:`lost`,message:e(`app.import.note.rotated`,{count:v})}),w(f);let S=f.filter(e=>[`task`,`callActivity`,`subProcess`,`transaction`,`eventSubProcess`].includes(e.kind));for(let e of f){if(e.kind!==`intermediateCatchEvent`||p.some(t=>t.kind===`sequence`&&t.target===e.id))continue;let t=g(e),n=S.map(e=>({candidate:e,distance:y(e,t)})).filter(e=>e.distance<=25).sort((e,t)=>e.distance-t.distance)[0];n&&(e.kind=`boundaryEvent`,e.host=n.candidate.id)}return{nodes:f,flows:p,notes:u}}const Vt=[`modeler`,`signavio`,`bizagi`,`flowable`];function Ht(e){return Vt.includes(e)}const Ut={modeler:`BPMN 2.0`,signavio:`Signavio`,bizagi:`Bizagi`,flowable:`Flowable`};function Wt(e){return(typeof e==`string`?e:new TextDecoder(`utf-8`).decode(e)).replace(/^/,``)}function $(e,t=[]){return{ok:!1,message:e,notes:t}}function Gt(t,n){if(n.nodes.length===0)return $(e(`app.import.failure.nothingToImport`,{format:t}),n.notes);let r=de(n);return{ok:!0,bpmn:r.xml,report:{format:t,summary:r.summary,notes:r.notes,needsLayout:!1}}}function Kt(){return e(`app.import.failure.bizagiPackage`)}const qt=/\.(bpmn|bpmn20\.xml)$/i;function Jt(e,t,n=[]){let r=rt(e,{target:t.target}),i=[...n,...r.notes],a={format:r.format,summary:Xt(r.xml),notes:i,needsLayout:!1,...r.details.length>0?{details:r.details}:{}};return{ok:!0,bpmn:r.xml,report:a}}function Yt(t,n,r){return!t.ok||!r.from||t.report.format===Ut[r.from]?t:$(e(`app.import.failure.notFrom`,{name:A(n),format:t.report.format,from:r.from}))}function Xt(e){let t=i(e),r=e=>n(t,e).length;return{elements:[`task`,`userTask`,`serviceTask`,`scriptTask`,`sendTask`,`receiveTask`,`manualTask`,`businessRuleTask`,`callActivity`,`subProcess`,`transaction`,`startEvent`,`endEvent`,`intermediateCatchEvent`,`intermediateThrowEvent`,`boundaryEvent`,`exclusiveGateway`,`parallelGateway`,`inclusiveGateway`,`complexGateway`,`eventBasedGateway`].reduce((e,t)=>e+r(t),0),flows:r(`sequenceFlow`)+r(`messageFlow`),pools:r(`participant`),lanes:r(`lane`)}}function Zt(e,t={}){let n=Ke(e.name,e.data.length);return n?$(n):Yt(Qt(e,t),e.name,t)}function Qt(t,n){try{if(typeof t.data!=`string`){if(Dt(t.data))return $(e(`app.import.failure.visioBinary`,{name:t.name}));if(Et(t.data)){if(/\.bpm$/i.test(t.name)){let r=Ot(t.data,e=>qt.test(e)),i=[...r.keys()].sort()[0],a=i?Y(r,i):void 0;return a?Jt(a,n,[{level:`assumed`,message:e(`app.import.note.packageImported`,{name:A(i??``)})}]):$(Kt())}return Gt(`Visio`,Bt(t.data))}}let r=Wt(t.data),a=qe(r);if(a)return $(a);if(/\.bpm$/i.test(t.name)&&!/^\s*</.test(r))return $(Kt());let o=i(r);return o.local===`mxfile`||o.local===`mxGraphModel`?Gt(`draw.io`,Tt(r)):o.local===`definitions`?Jt(r,n):o.local===`Package`&&o.ns.toLowerCase().includes(`xpdl`)?$(e(`app.import.failure.xpdl`)):$(e(`app.import.failure.unknownFormat`,{name:t.name}))}catch(e){if(e instanceof K||e instanceof kt||e instanceof H||e instanceof J||e instanceof s)return $(e.message);throw e}}export{Ce as a,N as c,O as d,A as f,Ge as i,ye as l,Zt as n,ke as o,Ht as r,fe as s,Vt as t,xe as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./chunk-atomicWrite-C6J1gDtO.js";import{r as t}from"./chunk-translator-DNm9zRpP.js";import{c as n,d as r,f as i,l as a,n as o,o as s,r as c,s as l,u}from"./chunk-import-BBOe-5RZ.js";import{_ as d}from"./chunk-load-rfn3E0t5.js";import{s as f}from"./chunk-failure-D5brrYW2.js";import{r as p,t as m}from"./chunk-context-rCJvBM9p.js";import{t as h}from"./chunk-paths-DIxn78bW.js";import g from"node:path";import _ from"node:os";import{closeSync as v,constants as y,existsSync as b,fstatSync as ee,lstatSync as x,mkdirSync as S,openSync as te,readFileSync as C,readSync as w,readdirSync as T,realpathSync as E,statSync as ne}from"node:fs";function D(e){let t=t=>e.notes.filter(e=>e.level===t).map(e=>e.message);return{unmapped:t(`unmapped`),assumed:t(`assumed`),lost:t(`lost`)}}const O={elements:`element`,flows:`flow`,pools:`pool`,lanes:`lane`};function k(e){return t(`app.import.noteTitle.${e}`)}function A(e,n){return t(`app.import.count.${O[n]}`,{count:e})}function j(e){let{elements:n,flows:r,pools:i,lanes:a}=e.summary,o=[A(n,`elements`),A(r,`flows`)];return i>0&&o.push(A(i,`pools`)),a>0&&o.push(A(a,`lanes`)),t(`app.import.summary`,{format:e.format,counts:o.join(`, `)})}function M(e){let n=D(e),r=[j(e)];for(let n of e.details??[])r.push(t(`app.import.detail.${n.kind}`,{count:n.count,target:n.target??``}));for(let e of[`unmapped`,`assumed`,`lost`])n[e].length!==0&&r.push(``,t(`app.import.noteSection`,{title:k(e),count:n[e].length}),...n[e].map(e=>` - ${e}`));return r}function N(e){let n=e.split(/[\\/]/).pop()??``;return/\.bpmn$/i.test(n)?`${n.replace(/\.bpmn$/i,``)}.penstock.bpmn`:`${n.replace(/\.(drawio|dio|vsdx|bpmn20\.xml|bpm|xml|xpdl)$/i,``)||t(`app.import.importedName`)}.bpmn`}function P(e){return e.length>20?`${e.slice(0,20).join(`, `)}, …`:e.join(`, `)}function F(e){let n=[t(e.found?`app.import.modeler.title`:`app.import.modeler.nothing`,{root:e.root})];for(let r of e.templates)n.push(t(r.picked?`app.import.modeler.templatesPicked`:`app.import.modeler.templatesListed`,{folder:r.folder,templates:r.templates,files:r.files,invalid:r.invalid}));if(e.lint){let r=e.lint.rules.filter(e=>e.penstock!==null).length,i=[...e.lint.extends.filter(e=>!e.known).map(e=>`extends ${e.name}`),...e.lint.rules.filter(e=>e.penstock===null).map(e=>e.rule)];n.push(t(`app.import.modeler.lint`,{file:e.lint.file,known:r,unknown:i.length})),i.length>0&&n.push(t(`app.import.modeler.lintUnknown`,{list:P(i)}))}for(let r of e.settings)n.push(t(`app.import.modeler.settings`,{file:r.file,keys:P(r.keys)||`-`}));e.plugins.length>0&&n.push(t(`app.import.modeler.plugins`,{list:P(e.plugins)})),e.diagrams.files>0&&n.push(t(`app.import.modeler.diagrams`,{files:e.diagrams.files,camunda:e.diagrams.camunda,zeebe:e.diagrams.zeebe})),e.diagrams.capped&&n.push(t(`app.import.modeler.capped`));let r=e.keymap.filter(e=>e.action!==null);n.push(t(`app.import.modeler.keymap`,{mapped:r.length,total:e.keymap.length}));for(let e of r)n.push(` ${e.shortcut} ${e.action}`);for(let r of e.issues)n.push(t(`app.import.modeler.skipped.${r.reason}`,{path:r.path}));return n}const I=2097152,L=5e4,re=/* @__PURE__ */ new Set([`node_modules`,`.git`]);var R=class extends Error{reason;constructor(e){super(e),this.reason=e}};function z(e){return e.startsWith(`\\\\`)||e.startsWith(`//`)}function B(e={}){if(e.userData!==void 0)return e.userData;let t=e.platform??process.platform,n=e.env??process.env,r=e.home??_.homedir();if(z(r))return null;let i;return i=t===`darwin`?g.join(r,`Library`,`Application Support`,`camunda-modeler`):t===`win32`?n.APPDATA?g.join(n.APPDATA,`camunda-modeler`):null:g.join(n.XDG_CONFIG_HOME&&g.isAbsolute(n.XDG_CONFIG_HOME)?n.XDG_CONFIG_HOME:g.join(r,`.config`),`camunda-modeler`),i!==null&&g.isAbsolute(i)&&!z(i)?i:null}function V(e,t,n,r){e.issues.length>=100||e.issues.push({path:i(g.relative(t,n)||g.basename(n)),reason:r})}function H(e,t,n=!1){let r;try{r=te(e,y.O_RDONLY|(y.O_NOFOLLOW??0))}catch(e){return{reason:e.code===`ELOOP`?`symlink`:`unreadable`}}try{let e=ee(r);if(!e.isFile())return{reason:`unreadable`};if(!n&&e.size>t)return{reason:`tooLarge`};let i=Buffer.alloc(Math.min(e.size,t)),a=0;for(;a<i.length;){let e=w(r,i,a,i.length-a,a);if(e===0)break;a+=e}return{text:i.subarray(0,a).toString(`utf8`)}}catch{return{reason:`unreadable`}}finally{v(r)}}function U(e,t){try{return h(E(e),t)}catch{return!1}}function W(e){try{let t=x(e);return t.isSymbolicLink()?`symlink`:t.isDirectory()?`folder`:t.isFile()?`file`:`other`}catch{return null}}function G(e){try{return T(e,{withFileTypes:!0}).sort((e,t)=>e.name<t.name?-1:+(e.name>t.name))}catch{return[]}}function K(e,t,n){let r=[],i=!1,a=0,o=[{folder:n,depth:1}];for(let n=o.pop();n;n=o.pop())for(let s of G(n.folder)){if(a+=1,a>L)return{files:r.sort(),capped:!0};let c=g.join(n.folder,s.name);s.isSymbolicLink()?V(e,t,c,`symlink`):s.isFile()&&s.name.endsWith(`.json`)?r.length>=500?i=!0:r.push(c):s.isDirectory()&&n.depth<4&&o.push({folder:c,depth:n.depth+1})}return{files:r.sort(),capped:i}}function q(e){try{let t=m(e).values.elementTemplates;return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`).map(t=>g.resolve(e,t))):/* @__PURE__ */ new Set}catch{return/* @__PURE__ */ new Set}}function J(e,t,n,r,a,o){if(W(r)===null)return null;if(W(r)!==`folder`)return V(e,t,r,W(r)===`symlink`?`symlink`:`unreadable`),null;if(!U(r,t))return V(e,t,r,`outside`),null;let{files:s,capped:c}=K(e,t,r);c&&V(e,t,r,`tooMany`);let l=0,d=0,f=0,p=0;for(let n of s){let r=H(n,I);if(`reason`in r){V(e,t,n,r.reason),f+=1;continue}if(d+=r.text.length,d>33554432){V(e,t,n,`tooMany`);break}p+=1;let i=u(r.text);i?(l+=i.templates,f+=i.invalid):(V(e,t,n,`notJson`),f+=1)}let m=a===`project`&&g.resolve(r)===g.resolve(n,`.camunda`,`element-templates`);return{folder:i(a===`project`?g.relative(n,r):r),origin:a,files:p,templates:l,invalid:f,picked:m||o.has(g.resolve(r))}}function Y(e,t,n){return W(n)!==`folder`||!U(n,t)?[]:G(n).filter(e=>e.isDirectory()&&!e.isSymbolicLink()).slice(0,50).map(e=>i(e.name))}function X(e,t,n,r){let o=W(n);if(o===null||o===`folder`)return null;if(o!==`file`||!U(n,t))return V(e,t,n,o===`symlink`?`symlink`:o===`file`?`outside`:`unreadable`),null;let s=H(n,I);if(`reason`in s)return V(e,t,n,s.reason),null;let c=a(s.text,i(r));return c||V(e,t,n,`notJson`),c}function ie(e,t,r){let i=W(r);if(i===null)return null;if(i!==`file`||!U(r,t))return V(e,t,r,i===`symlink`?`symlink`:i===`file`?`outside`:`unreadable`),null;let a=H(r,I);if(`reason`in a)return V(e,t,r,a.reason),null;let o=n(a.text,`.bpmnlintrc`);return o||V(e,t,r,`notJson`),o}function ae(e,t){let n={files:0,camunda:0,zeebe:0,capped:!1},r=0,i=[{folder:t,depth:1}];for(let a=i.pop();a;a=i.pop())for(let o of G(a.folder)){if(r+=1,r>L||n.files>=500)return n.capped=!0,n;let s=g.join(a.folder,o.name);if(!o.isSymbolicLink()){if(o.isDirectory())!re.has(o.name)&&a.depth<6&&i.push({folder:s,depth:a.depth+1});else if(o.isFile()&&o.name.toLowerCase().endsWith(`.bpmn`)){let r=H(s,65536,!0);if(`reason`in r){V(e,t,s,r.reason);continue}n.files+=1,r.text.includes(`http://camunda.org/schema/1.0/bpmn`)&&(n.camunda+=1),r.text.includes(`http://camunda.org/schema/zeebe/1.0`)&&(n.zeebe+=1)}}}return n}function oe(e){try{return Z(e)}catch{return null}}function Z(e){if(z(e))throw new R(`unc`);try{let t=E(g.resolve(e));if(z(t)||x(t).isDirectory()===!1)throw new R(`notFolder`);return t}catch(e){throw e instanceof R?e:new R(`notFolder`)}}function se(e,t={}){let n=Z(e),r={issues:[]},a=q(n),o=[],s=[],c=[];for(let e of[[`.camunda`,`element-templates`],[`resources`,`element-templates`]]){let t=J(r,n,n,g.join(n,...e),`project`,a);t&&o.push(t)}for(let[e,t]of[[`.camunda`,[`flags.json`,`settings.json`]],[`resources`,[`flags.json`]]])for(let i of t){let t=X(r,n,g.join(n,e,i),`${e}/${i}`);t&&s.push(t)}let u=X(r,n,g.join(n,`.camunda`),`.camunda`);u&&s.push(u),c.push(...Y(r,n,g.join(n,`resources`,`plugins`)));let d=B(t),f=d!==null&&W(d)===`folder`?oe(d):null;if(f!==null){let e=J(r,f,n,g.join(f,`resources`,`element-templates`),`user`,a);e&&o.push(e);for(let[e,t]of[[``,[`flags.json`,`settings.json`,`config.json`]],[`resources`,[`flags.json`]]])for(let n of t){let t=`~/${g.posix.join(`camunda-modeler`,e,n)}`,i=X(r,f,g.join(f,e,n),t);i&&s.push(i)}c.push(...Y(r,f,g.join(f,`resources`,`plugins`)))}let p=ie(r,n,g.join(n,`.bpmnlintrc`)),m=ae(r,n),h=o.length>0||p!==null||s.length>0||c.length>0;return{root:i(g.basename(n)),found:h,templates:o,lint:p,settings:s,plugins:c,diagrams:m,keymap:l.map(e=>({...e})),issues:r.issues}}const Q=4096;function ce(e,t){return t?g.resolve(t):g.join(g.dirname(e),N(g.basename(e)))}function le(e,t){return b(t)?E(e)===E(t):!1}function $(n,a,o,s){let c;try{c=se(n,{userData:o.modelerData})}catch(e){if(e instanceof R)return s([t(e.reason===`unc`?`app.cli.import.uncFolder`:`app.cli.import.notFolder`,{file:i(n,Q)})]);throw e}let l=o.json?[JSON.stringify({ok:!0,...c},null,2)]:F(c);if(!a)return{ok:!0,lines:l};let u=g.resolve(a);return o.confinedTo!==void 0&&!d(u,[o.confinedTo])?s([t(`app.cli.import.outsideProject`,{file:i(u,Q)})]):b(u)&&!o.force?s([t(`app.cli.import.exists`,{file:i(p(u),Q)})]):(S(g.dirname(u),{recursive:!0}),e(u,`${JSON.stringify(r(),null,2)}\n`),{ok:!0,lines:o.json?l:[...l,``,t(`app.cli.import.keymapWritten`,{file:i(p(u),Q)})]})}async function ue(n,r,a){let l=e=>({ok:!1,refused:!a.json,lines:a.json?[JSON.stringify({ok:!1,message:e[0]})]:e});if(a.from!==void 0&&!c(a.from))return l([t(`app.cli.import.badFrom`,{from:i(a.from,Q)})]);if(a.to!==void 0&&!s(a.to))return l([t(`app.cli.import.badTo`,{to:i(a.to,Q)})]);if(!n)return l([t(`app.cli.import.needsFile`)]);if(!b(n))return l([t(`app.cli.import.missing`,{file:i(n,Q)})]);let u=ne(n);if(u.isDirectory())return a.from===`modeler`?$(n,r,a,l):l([t(`app.cli.import.folderNeedsModeler`,{file:i(p(n),Q)})]);if(!u.isFile()||u.size>67108864)return l([t(`app.import.failure.entryTooLarge`,{name:i(g.basename(n),Q)}),t(`app.cli.nothingWritten`)]);let m;try{m=new Uint8Array(C(n))}catch(e){return l([f(i(p(n),Q),e),t(`app.cli.nothingWritten`)])}let h=o({name:g.basename(n),data:m},{from:a.from&&c(a.from)?a.from:void 0,target:a.to&&s(a.to)?a.to:void 0});if(!h.ok)return l([h.message,...h.notes.map(e=>` - ${e.message}`),t(`app.cli.nothingWritten`)]);if(a.report){let e=D(h.report);return a.json?{ok:!0,lines:[JSON.stringify({ok:!0,written:!1,format:h.report.format,summary:h.report.summary,notes:h.report.notes,groups:e,details:h.report.details??[]},null,2)]}:{ok:!0,lines:[...M(h.report),``,t(`app.cli.import.reportOnly`)]}}let _=ce(n,r);if(a.confinedTo!==void 0&&!d(_,[a.confinedTo]))return l([t(`app.cli.import.outsideProject`,{file:i(_,Q)}),t(`app.cli.nothingWritten`)]);if(le(n,_)||b(_)&&!a.force)return l([t(`app.cli.import.exists`,{file:i(p(_),Q)})]);if(S(g.dirname(_),{recursive:!0}),e(_,h.bpmn),a.json){let e=D(h.report);return{ok:!0,lines:[JSON.stringify({ok:!0,file:_,format:h.report.format,summary:h.report.summary,notes:h.report.notes,groups:e,details:h.report.details??[]},null,2)]}}let v=[`draw.io`,`Visio`].includes(h.report.format)?[``,t(`app.cli.import.routes`,{file:i(p(_),Q)})]:[];return{ok:!0,lines:[t(`app.cli.wrote`,{file:i(p(_),Q)}),``,...M(h.report),...v]}}export{ue as importCommand};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as e}from"./chunk-license-BG88gpDZ.js";import{r as t}from"./chunk-translator-DNm9zRpP.js";import{s as n,t as r}from"./chunk-features-C6o8of19.js";import{i,r as a}from"./chunk-redact-Bz1nB1gq.js";import{s as o}from"./chunk-variables-CXAMjZIR.js";import{a as s}from"./chunk-moddle-D3Ym38EZ.js";import{b as c}from"./chunk-engine-CxgdJ2wO.js";import{l}from"./chunk-model-f8AzYUK7.js";import{a as u,l as d,u as f}from"./chunk-file-BswMa3FN.js";import{t as p}from"./chunk-list-XuNpvC6j.js";import{f as m,l as h,r as g}from"./chunk-deploy-l4MdFfn8.js";import{_,a as v,g as y,m as b,n as x,o as S,p as C,s as w}from"./chunk-testCases-9jwT_Y7z.js";import{t as T}from"./chunk-context-rCJvBM9p.js";import{t as E}from"./chunk-diagrams-BukAOL0g.js";import{a as D,t as O}from"./chunk-safeWrite-RgLbdyzl.js";import k from"node:path";import{existsSync as A,mkdirSync as j,readFileSync as M}from"node:fs";function N(e){return e.length<=2e3?e:`${e.slice(0,800)}\n...\n${e.slice(-1200)}`}function P(e){if(e.status<200||e.status>=300)throw new y(t(`app.incident.read.answered`,{status:e.status}),e.status);try{return JSON.parse(e.body)}catch{throw new y(t(`app.incident.read.notJson`),e.status)}}function F(e,t,n){let r=e===`CAMUNDA_8`,i={processId:n,elementId:String((r?t?.elementId:t?.activityId)??``),type:String((r?t?.errorType:t?.incidentType)??``),message:String((r?t?.errorMessage:t?.incidentMessage)??``),instance:String((r?t?.processInstanceKey:t?.processInstanceId)??``)},a=r?t?.incidentKey??t?.key:t?.id;return a!=null&&(i.id=String(a)),i}function I(e,t){return{method:`GET`,path:e===`CAMUNDA_8`?`/incidents/${encodeURIComponent(t)}`:`/incident/${encodeURIComponent(t)}`}}function L(e,t){return{method:`GET`,path:e===`CAMUNDA_8`?`/process-instances/${encodeURIComponent(t)}`:`/history/process-instance/${encodeURIComponent(t)}`}}function R(e,t){if(e===`CAMUNDA_8`)return null;let n=typeof t?.configuration==`string`?t.configuration:``;return n?t.incidentType===`failedJob`?{method:`GET`,path:`/job/${encodeURIComponent(n)}/stacktrace`}:t.incidentType===`failedExternalTask`?{method:`GET`,path:`/external-task/${encodeURIComponent(n)}/errorDetails`}:null:null}async function z(e,t){let n=await e(t);return n.status===404?null:P(n)}async function B(e,n,r){try{let a=_(e,r),o=null;try{o=await z(r,I(e,n))}catch(e){if(!(e instanceof y)||e.status<400||e.status>=500)throw e}let s=o?String((e===`CAMUNDA_8`?o.processInstanceKey:o.processInstanceId)??``):n;if(!s)return{ok:!1,reason:t(`app.incident.read.noInstance`,{key:n})};let c=await z(r,L(e,s));if(!c)return{ok:!1,reason:t(`app.incident.read.noSuchInstance`,{key:n})};let l=String((e===`CAMUNDA_8`?c.processDefinitionId:c.processDefinitionKey)??``),u=await a.snapshot(s),d=e===`CAMUNDA_8`?[]:P(await r({method:`GET`,path:`/incident?processInstanceId=${encodeURIComponent(s)}`})),f=u.incidents.map(e=>({processId:l,elementId:e.elementId,type:e.type??``,message:e.message,instance:s,...e.id===void 0?{}:{id:e.id}})),p=o?F(e,o,l):f[0];if(!p)return{ok:!1,reason:t(`app.incident.read.noIncident`,{key:n})};let m=f.filter(e=>e.elementId!==p.elementId||e.message!==p.message||e.type!==p.type),h=o??d.find(e=>String(e?.activityId)===p.elementId)??null,g=h?R(e,h):null,v=null;if(g){let e=await r(g);e.status>=200&&e.status<300&&e.body.trim()&&(v=N(i(e.body).trim()))}return{ok:!0,evidence:{engine:e,incident:p,others:m,variables:u.variables,path:u.elements,detail:v,variablesAreCurrent:!0}}}catch(e){return{ok:!1,reason:e instanceof Error?e.message:String(e)}}}const V=/(?:[A-Za-z0-9_.-]+:\d+:)?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/g,H=`[A-Za-z0-9_.:-]+`;function U(e){return o(e).replace(/\d{5,}/g,`\\d+`).replace(/ /g,`\\s+`)}const W=/[A-Za-z0-9_.:-]/;function G(e,t){let n=t?e.length:0;for(;t?n>0&&W.test(e[n-1]):n<e.length&&W.test(e[n]);)n+=t?-1:1;return t?e.slice(0,n):e.slice(n)}function K(e){let t=[...e.matchAll(V)];if(t.length===0)return U(e);let n=[],r=0;for(let[i,a]of t.entries()){let t=e.slice(r,a.index);i>0&&(t=G(t,!1)),t=G(t,!0),t&&n.push(U(t)),(n.length===0||n[n.length-1]!==H)&&n.push(H),r=a.index+a[0].length}let i=G(e.slice(r),!1);return i&&n.push(U(i)),n.join(``)}function q(e){let t=i(e).replace(/\s+/g,` `).trim().slice(0,200).split(`***`);return t.map((e,n)=>{let r=n===0?e:e.trimStart();return n===t.length-1?r:r.trimEnd()}).filter(e=>e.length>0).map(K).join(`.*`)}function J(e,t){let n=e.correlationKey?.trim();if(!n)return;if(!n.startsWith(`=`))return n;let r=/^=\s*([A-Za-z_]\w*)\s*$/.exec(n)?.[1],i=r?t[r]:void 0;return i==null||typeof i==`object`?void 0:String(i)}const Y=/* @__PURE__ */ new Set([`bpmn:IntermediateCatchEvent`,`bpmn:ReceiveTask`,`bpmn:BoundaryEvent`]);function X(e,n){let{incident:r}=e,o=[],s=a(e.variables),l=e=>n.get(e)?.name??e,u=[{type:`CREATE_PROCESS_INSTANCE`,processDefinitionSelector:{processDefinitionId:r.processId},variables:s.values}],d={},f=/* @__PURE__ */ new Set,p=/* @__PURE__ */ new Set,m=[],h=!1,g=!1;for(let t of e.path){if(t.state!==`COMPLETED`||t.elementId===r.elementId)continue;let e=n.get(t.elementId);if(!e){m.includes(t.elementId)||m.push(t.elementId);continue}let i=e.job??e.external;if(i&&e.type!==`bpmn:UserTask`)f.has(i)||(f.add(i),u.push({type:`MOCK_JOB_WORKER_COMPLETE_JOB`,jobType:i}));else if(e.type===`bpmn:UserTask`)u.push({type:`COMPLETE_USER_TASK`,userTaskSelector:{elementId:e.id},variables:{}}),h=!0;else if(e.type!==`bpmn:StartEvent`&&Y.has(e.type)){if(e.event===`message`&&e.message){if(p.has(`m:${e.id}`))continue;p.add(`m:${e.id}`);let t=J(e,s.values);e.correlationKey&&t===void 0&&(g=!0),u.push({type:`CORRELATE_MESSAGE`,name:e.message,...t===void 0?{}:{correlationKey:t}})}else e.event===`signal`&&e.signal?u.push({type:`BROADCAST_SIGNAL`,signalName:e.signal}):e.event===`timer`&&(d[e.id]={then:`fire`})}}let _=n.get(r.elementId),v=!!_&&!!(_.job??_.external)&&_.type!==`bpmn:UserTask`;v&&(d[r.elementId]={then:`incident`,errorMessage:i(r.message).slice(0,1e3)}),_||o.push(t(`app.incident.note.elementGone`,{element:r.elementId})),m.length&&o.push(t(`app.incident.note.pathElementsGone`,{elements:m.join(`, `)})),s.names.length&&o.push(t(`app.incident.note.redacted`,{names:s.names.join(`, `)})),e.variablesAreCurrent&&o.push(t(`app.incident.note.currentVariables`)),h&&o.push(t(`app.incident.note.taskVariables`)),g&&o.push(t(`app.incident.note.correlationKey`)),n.get(r.elementId)?.calledProcess&&o.push(t(`app.incident.note.calledProcess`,{element:l(r.elementId)})),e.others.length&&o.push(t(`app.incident.note.otherIncidents`,{count:e.others.length})),v||o.push(t(`app.incident.note.mustHappenByItself`,{element:l(r.elementId)})),u.push({type:`ASSERT_PROCESS_INSTANCE`,processInstanceSelector:{processDefinitionId:r.processId},state:`IS_ACTIVE`,hasActiveIncidents:!0});let y={elementId:r.elementId,...r.type?{type:r.type}:{},message:q(r.message)};r.id&&(y.incident=r.id);let b=c(e.engine)?.key;return{testCase:{name:t(`app.incident.scenarioName`,{element:l(r.elementId),type:r.type||t(`app.incident.noType`)}),description:t(`app.incident.scenarioDescription`,{instance:r.instance}),instructions:u,"x-penstock":{...b?{engines:[b]}:{},...Object.keys(d).length?{behaviours:d}:{},reproduces:y}},notes:o,redacted:s.names,processId:r.processId}}async function Z(e,t){let n=await C(e,t);return{verdict:n.outcome===`passed`?`reproduced`:n.outcome===`failed`?`notReproduced`:`skipped`,message:n.message??null,result:n}}function Q(e){let n=[],r=e[`x-penstock`];for(let r of e.instructions)switch(r.type){case`CREATE_PROCESS_INSTANCE`:{let e=Object.keys(r.variables??{});n.push(e.length?t(`app.incident.step.start`,{process:r.processDefinitionSelector.processDefinitionId,names:p(e)}):t(`app.incident.step.startEmpty`,{process:r.processDefinitionSelector.processDefinitionId}));break}case`MOCK_JOB_WORKER_COMPLETE_JOB`:n.push(t(`app.incident.step.mock`,{type:r.jobType}));break;case`COMPLETE_USER_TASK`:n.push(t(`app.incident.step.task`,{element:r.userTaskSelector.elementId??r.userTaskSelector.taskName??``}));break;case`CORRELATE_MESSAGE`:n.push(t(`app.incident.step.message`,{name:r.name}));break;case`BROADCAST_SIGNAL`:n.push(t(`app.incident.step.signal`,{name:r.signalName}))}for(let[e,i]of Object.entries(r?.behaviours??{}))i.then===`fire`&&n.push(t(`app.incident.step.timer`,{element:e})),i.then===`incident`&&n.push(t(`app.incident.step.fail`,{element:e}));let i=r?.reproduces;return i&&n.push(i.type?t(`app.incident.step.expect`,{element:i.elementId,type:i.type}):t(`app.incident.step.expectAny`,{element:i.elementId})),n}const $=/<(?:[\w-]+:)?process\b[^>]*\bid="([^"]+)"/g;function ee(e,t){let n;try{n=M(e,`utf8`)}catch{return!1}for(let e of n.matchAll($))if(e[1]===t)return!0;return!1}async function te(e){let n=m(e.root);if(!n&&!e.ask)return{ok:!1,reason:t(`app.incident.node.noEngine`)};let r=e.ask??g(n),i=await B(n?h(n):`CAMUNDA_8`,e.key,r);if(!i.ok)return{ok:!1,reason:i.reason};let{evidence:a}=i,o=T(e.root).root,c=E(o).sort().find(e=>ee(e,a.incident.processId));if(!c)return{ok:!1,reason:t(`app.incident.node.noDiagram`,{process:a.incident.processId})};try{e.confine?.(c),e.confine?.(k.resolve(f(k.resolve(c))))}catch(e){return{ok:!1,reason:e instanceof Error?e.message:String(e)}}let p=X(a,l(await s(M(c,`utf8`)))),_=k.resolve(f(k.resolve(c))),y=A(_)?M(_,`utf8`):null,C=u(y,[p.testCase]);if(`problem`in C)return{ok:!1,reason:C.problem};let N=C.added.length>0?`create`:`exists`,P=!1;if(e.write&&N===`create`)try{j(k.dirname(_),{recursive:!0}),D([{path:_,content:d(C.file)}],o,{replace:!0}),P=!0}catch(e){if(e instanceof O)return{ok:!1,reason:e.message};throw e}let F=null,I=null;if(e.run){let n=(e.engineFor??x)(c);if(!n)I=t(`app.incident.node.noRunEngine`);else{let t=await S({ci:e.ci??!!process.env.CI,confirm:e.confirm})(n);if(t)I=t;else{let t=v(n.url??`default`);F=await Z(p.testCase,{engine:n.engine,resources:await w(c),runId:b(/* @__PURE__ */ new Date),builds:t,...e.stepTimeoutMs===void 0?{}:{stepTimeoutMs:e.stepTimeoutMs},...e.pollMs===void 0?{}:{pollMs:e.pollMs},...e.sleep?{sleep:e.sleep}:{},...e.now?{now:e.now}:{}})}}}return{ok:!0,evidence:a,diagram:c,casesFile:_,draft:p,action:N,written:P,reproduction:F,notRun:I}}const ne=[`scenario`];async function re(i,a,o){let[s,c,l]=i;if(s===void 0||!ne.includes(s))return{ok:!1,lines:[t(`app.cli.incident.unknownAction`,{action:s??``})]};if(!c)return{ok:!1,lines:[t(`app.cli.incident.needsKey`)]};let u=o??await e();if((a.write||a.run)&&!r(u))return{ok:!1,lines:n(u,`incident-scenario`)};let d=await te({key:c,root:k.resolve(l??a.folder??process.cwd()),write:a.write,run:a.run,...a.inject});if(!d.ok)return{ok:!1,lines:[d.reason]};let{evidence:f,draft:p,reproduction:m}=d,h=k.relative(process.cwd(),d.casesFile),g=h===``||h.startsWith(`..`)?d.casesFile:h,_=m===null||m.verdict===`reproduced`;if(a.format===`json`){let e={incident:{...f.incident,others:f.others.length},diagram:d.diagram,file:d.casesFile,write:a.write,action:d.action,written:d.written,scenario:p.testCase,notes:p.notes,redacted:p.redacted,reproduction:m?{verdict:m.verdict,message:m.message}:null,notRun:d.notRun};return{ok:_,refused:!1,lines:[JSON.stringify(e,null,2)]}}let v=[t(`app.cli.incident.found`,{type:f.incident.type||t(`app.incident.noType`),element:f.incident.elementId,process:f.incident.processId,instance:f.incident.instance}),t(`app.cli.incident.message`,{message:f.incident.message}),``,t(`app.cli.incident.scenario`,{name:p.testCase.name}),...Q(p.testCase).map(e=>` - ${e}`)];return p.notes.length>0&&v.push(``,t(`app.cli.incident.notes`),...p.notes.map(e=>` - ${e}`)),v.push(``),d.action===`exists`?v.push(t(`app.cli.incident.exists`,{file:g})):d.written?v.push(t(`app.cli.incident.written`,{file:g})):v.push(t(`app.cli.incident.dryRun`,{file:g})),d.notRun&&v.push(t(`app.cli.incident.notRun`,{reason:d.notRun})),m&&v.push(m.verdict===`reproduced`?t(`app.cli.incident.reproduced`):m.verdict===`skipped`?t(`app.cli.incident.notRun`,{reason:m.message??``}):t(`app.cli.incident.notReproduced`,{reason:m.message??``})),{ok:_&&m?.verdict!==`skipped`,lines:v}}export{re as incidentCommand};
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./chunk-version-CdS8_QQd.js";import{r as n}from"./chunk-translator-DNm9zRpP.js";import{n as r}from"./chunk-status-CmYxwOCn.js";import{t as i}from"./chunk-table-BOiaGWwY.js";import{c as a,p as o,s,u as c}from"./chunk-engine-CxgdJ2wO.js";import{o as l,r as u}from"./chunk-penstockCli-CKMvaZ0O.js";import{n as d,r as f,t as p}from"./chunk-examples-0HkF-frb.js";import{n as m}from"./chunk-list-XuNpvC6j.js";import{o as h,r as g,t as _}from"./chunk-load-rfn3E0t5.js";import{r as v}from"./chunk-context-rCJvBM9p.js";import{r as y}from"./chunk-project-DA3KnAZH.js";import{o as b}from"./chunk-git-57LoLvY3.js";import{t as x}from"./chunk-own-CX-3lIbf.js";import{n as S}from"./chunk-systemError-BYrMzp2o.js";import{d as C}from"./chunk-wrapper-B2WnOIoB.js";import w from"node:path";import{chmodSync as T,existsSync as E,mkdirSync as D,readFileSync as O,readdirSync as k,writeFileSync as A}from"node:fs";function j(n=e()){let r=u(n);return`#!/bin/sh
|
|
2
|
-
# Installed by penstock init --hooks. Delete this file to stop it.
|
|
3
|
-
set -e
|
|
4
|
-
|
|
5
|
-
diagrams() {
|
|
6
|
-
git diff --cached -z --name-only --diff-filter=ACM -- '*.bpmn' '*.bpmn20.xml'
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
any() {
|
|
10
|
-
[ -n "$(diagrams | tr -d '\\0')" ]
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
any || exit 0
|
|
14
|
-
|
|
15
|
-
runner=""
|
|
16
|
-
if [ -x "./penstockw" ]; then
|
|
17
|
-
runner="./penstockw"
|
|
18
|
-
elif command -v penstock >/dev/null 2>&1; then
|
|
19
|
-
runner="penstock"
|
|
20
|
-
elif [ -x "./node_modules/.bin/penstock" ]; then
|
|
21
|
-
runner="./node_modules/.bin/penstock"
|
|
22
|
-
${r===null?``:`elif command -v npx >/dev/null 2>&1; then
|
|
23
|
-
runner="npx --yes ${r}"
|
|
24
|
-
`}fi
|
|
25
|
-
|
|
26
|
-
if [ -z "$runner" ]; then
|
|
27
|
-
echo "penstock: the Penstock command line was not found, so the staged diagrams were not checked. Install it with: npm install -g ${t}" >&2
|
|
28
|
-
exit 0
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
diagrams | xargs -0 $runner fmt --write
|
|
32
|
-
diagrams | xargs -0 git add
|
|
33
|
-
diagrams | xargs -0 $runner check --baseline
|
|
34
|
-
`}function M(e,t){if(!E(w.join(e,`.git`)))return t.push(`skipped ${n(`app.cli.hooks.skipped`)}`),!1;let i=b(e,`hooks`)??w.join(e,`.git`,`hooks`),a=w.join(i,`pre-commit`);try{if(D(i,{recursive:!0}),E(a)&&!O(a,`utf8`).includes(`penstock`))return t.push(`${r(`kept`).padEnd(8)} ${v(a)} - ${n(`app.cli.hooks.keptOther`)}`),!1;A(a,j()),T(a,493)}catch(e){return t.push(`skipped ${S(e,i)}`),!1}return t.push(`${r(`wrote`).padEnd(8)} ${v(a)} - ${n(`app.cli.hooks.wrote`)}`),!0}const N=`5049c2fce613420ff27d7d9df6f0291fb5d1a667 # 2026-08-31`;if(!/^[0-9a-f]{40}$/.test(`5049c2fce613420ff27d7d9df6f0291fb5d1a667`))throw Error(`the Penstock action is pinned to a commit, not to a branch or a tag`);function P(e,t){return` ${n(`app.cli.init.${e}`,t)}`}function F(e){return`name: Diagrams
|
|
35
|
-
|
|
36
|
-
on: [push, pull_request]
|
|
37
|
-
|
|
38
|
-
jobs:
|
|
39
|
-
penstock:
|
|
40
|
-
runs-on: ubuntu-latest
|
|
41
|
-
permissions:
|
|
42
|
-
contents: read${e?`
|
|
43
|
-
security-events: write`:``}
|
|
44
|
-
steps:
|
|
45
|
-
- uses: actions/checkout@v4
|
|
46
|
-
- uses: actions/setup-node@v4
|
|
47
|
-
with:
|
|
48
|
-
node-version: 22
|
|
49
|
-
|
|
50
|
-
- uses: kern0x1b/penstock-release@${N}
|
|
51
|
-
${e?` env:
|
|
52
|
-
PENSTOCK_LICENSE: \${{ secrets.PENSTOCK_LICENSE }}
|
|
53
|
-
with:
|
|
54
|
-
command: check
|
|
55
|
-
sarif: penstock.sarif
|
|
56
|
-
baseline: 'true'
|
|
57
|
-
|
|
58
|
-
- uses: github/codeql-action/upload-sarif@v3
|
|
59
|
-
if: always()
|
|
60
|
-
with:
|
|
61
|
-
sarif_file: penstock.sarif
|
|
62
|
-
`:` with:
|
|
63
|
-
command: check
|
|
64
|
-
`}`}const I=`name: Penstock bot
|
|
65
|
-
|
|
66
|
-
on:
|
|
67
|
-
pull_request:
|
|
68
|
-
paths: ['**.bpmn', '**.bpmn20.xml', '**.bpmn.xml', '**.dmn', '**.form']
|
|
69
|
-
issue_comment:
|
|
70
|
-
types: [created]
|
|
71
|
-
|
|
72
|
-
permissions:
|
|
73
|
-
contents: read
|
|
74
|
-
pull-requests: write
|
|
75
|
-
issues: write
|
|
76
|
-
|
|
77
|
-
jobs:
|
|
78
|
-
answer:
|
|
79
|
-
if: >-
|
|
80
|
-
(github.event_name == 'pull_request' ||
|
|
81
|
-
(github.event.issue.pull_request && contains(github.event.comment.body, '/penstock'))) &&
|
|
82
|
-
(github.event_name != 'issue_comment' ||
|
|
83
|
-
contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)) &&
|
|
84
|
-
github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name
|
|
85
|
-
runs-on: ubuntu-latest
|
|
86
|
-
steps:
|
|
87
|
-
- uses: actions/checkout@v4
|
|
88
|
-
with:
|
|
89
|
-
fetch-depth: 0
|
|
90
|
-
- uses: actions/setup-node@v4
|
|
91
|
-
with:
|
|
92
|
-
node-version: 22
|
|
93
|
-
- uses: kern0x1b/penstock-release/bot@${N}
|
|
94
|
-
env:
|
|
95
|
-
PENSTOCK_LICENSE: \${{ secrets.PENSTOCK_LICENSE }}
|
|
96
|
-
`,L=`name: Penstock bot
|
|
97
|
-
|
|
98
|
-
on:
|
|
99
|
-
pull_request:
|
|
100
|
-
issue_comment:
|
|
101
|
-
types: [created]
|
|
102
|
-
|
|
103
|
-
jobs:
|
|
104
|
-
answer:
|
|
105
|
-
if: github.event_name == 'pull_request' || contains(github.event.comment.body, '/penstock')
|
|
106
|
-
runs-on: ubuntu-latest
|
|
107
|
-
steps:
|
|
108
|
-
- uses: actions/checkout@v4
|
|
109
|
-
with:
|
|
110
|
-
fetch-depth: 0
|
|
111
|
-
- uses: actions/setup-node@v4
|
|
112
|
-
with:
|
|
113
|
-
node-version: 22
|
|
114
|
-
- env:
|
|
115
|
-
GITHUB_TOKEN: \${{ secrets.PENSTOCK_TOKEN || github.token }}
|
|
116
|
-
PENSTOCK_LICENSE: \${{ secrets.PENSTOCK_LICENSE }}
|
|
117
|
-
run: ./penstockw bot .
|
|
118
|
-
`,R=`name: Diagrams
|
|
119
|
-
|
|
120
|
-
on: [push, pull_request]
|
|
121
|
-
|
|
122
|
-
jobs:
|
|
123
|
-
penstock:
|
|
124
|
-
runs-on: ubuntu-latest
|
|
125
|
-
steps:
|
|
126
|
-
- uses: actions/checkout@v4
|
|
127
|
-
- uses: actions/setup-node@v4
|
|
128
|
-
with:
|
|
129
|
-
node-version: 22
|
|
130
|
-
- run: ./penstockw check .
|
|
131
|
-
`;function z(e){return`diagrams:
|
|
132
|
-
image: node:22
|
|
133
|
-
rules:
|
|
134
|
-
- if: $CI_PIPELINE_SOURCE != "trigger"
|
|
135
|
-
script:
|
|
136
|
-
- ./penstockw check .${e?` --baseline`:``}
|
|
137
|
-
${e?`
|
|
138
|
-
penstock-bot:
|
|
139
|
-
image: node:22
|
|
140
|
-
variables:
|
|
141
|
-
GIT_DEPTH: 0
|
|
142
|
-
rules:
|
|
143
|
-
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
144
|
-
- if: $CI_PIPELINE_SOURCE == "trigger" && $TRIGGER_PAYLOAD
|
|
145
|
-
script:
|
|
146
|
-
- ./penstockw bot .
|
|
147
|
-
`:``}
|
|
148
|
-
deploy-diagrams:
|
|
149
|
-
image: node:22
|
|
150
|
-
when: manual
|
|
151
|
-
rules:
|
|
152
|
-
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
153
|
-
variables:
|
|
154
|
-
PENSTOCK_PROFILE: prod
|
|
155
|
-
script:
|
|
156
|
-
- ./penstockw deploy . --wait
|
|
157
|
-
`}function B(e){return`pipelines:
|
|
158
|
-
pull-requests:
|
|
159
|
-
'**':
|
|
160
|
-
- step:
|
|
161
|
-
name: ${e?`Penstock bot`:`Diagrams`}
|
|
162
|
-
image: node:22
|
|
163
|
-
${e?` clone:
|
|
164
|
-
depth: full
|
|
165
|
-
script:
|
|
166
|
-
- export PENSTOCK_BOT_DIR=$BITBUCKET_CLONE_DIR/.penstock
|
|
167
|
-
- ./penstockw check . --baseline
|
|
168
|
-
- ./penstockw bot .
|
|
169
|
-
artifacts:
|
|
170
|
-
- .penstock/penstock-bot/*.svg
|
|
171
|
-
`:` script:
|
|
172
|
-
- ./penstockw check .
|
|
173
|
-
`}`}function V(e){return`trigger: none
|
|
174
|
-
|
|
175
|
-
pr:
|
|
176
|
-
paths:
|
|
177
|
-
include: ['*.bpmn', '**/*.bpmn', '**/*.bpmn20.xml', '**/*.bpmn.xml', '*.dmn', '**/*.dmn', '*.form', '**/*.form']
|
|
178
|
-
|
|
179
|
-
pool:
|
|
180
|
-
vmImage: ubuntu-latest
|
|
181
|
-
|
|
182
|
-
steps:
|
|
183
|
-
${e?` - checkout: self
|
|
184
|
-
fetchDepth: 0
|
|
185
|
-
- task: NodeTool@0
|
|
186
|
-
inputs:
|
|
187
|
-
versionSpec: '22.x'
|
|
188
|
-
- script: |
|
|
189
|
-
export PENSTOCK_BOT_DIR=$(Build.ArtifactStagingDirectory)
|
|
190
|
-
./penstockw bot .
|
|
191
|
-
env:
|
|
192
|
-
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
|
193
|
-
PENSTOCK_LICENSE: $(PENSTOCK_LICENSE)
|
|
194
|
-
- publish: $(Build.ArtifactStagingDirectory)/penstock-bot
|
|
195
|
-
artifact: penstock-diagrams
|
|
196
|
-
condition: always()
|
|
197
|
-
`:` - checkout: self
|
|
198
|
-
- task: NodeTool@0
|
|
199
|
-
inputs:
|
|
200
|
-
versionSpec: '22.x'
|
|
201
|
-
- script: |
|
|
202
|
-
./penstockw check .
|
|
203
|
-
`}`}function H(e){return P(`licenceHint`,{where:n(`app.cli.init.${e}`)})}function U(){return P(`teamHint`)}function W(e){let t={github:[P(`githubWorkflowToken`),P(`githubForks`),P(`updateHint`),P(`updateHow`),H(`secretLicence`)],gitea:[P(`giteaWorkflowToken`),H(`secretLicence`)],gitlab:[P(`gitlabToken`),P(`gitlabWebhook`),` <gitlab>/api/v4/projects/<id>/ref/<default branch>/trigger/pipeline?token=<pipeline trigger token>`,P(`gitlabTriggerIsSecret`),P(`gitlabKeepUrl`),H(`maskedLicence`)],bitbucket:[P(`bitbucketToken`),P(`bitbucketTokenHow`),H(`securedLicence`)],azure:[P(`azureContribute`),P(`azureToken`),P(`azurePolicy`),H(`pipelineLicence`)]};return x(t,e)??[]}const G=[{engine:`camunda-8`,key:`camunda8`},{engine:`camunda-7`,key:`camunda7`},{engine:`operaton`,key:`operaton`},{engine:`cib-seven`,key:`cibSeven`},{engine:`flowable`,key:`flowable`},{engine:`activiti`,key:`activiti`},{engine:`classic`,key:`classic`}];function K(){return G.map(e=>({engine:e.engine,label:n(`app.cli.init.engine.${e.key}`)}))}const q=/\.(bpmn|bpmn20\.xml|dmn|form)$/i,J=/^(pom\.xml|build\.gradle(\.kts)?)$/,Y=e=>q.test(e),X=e=>J.test(e);function Z(e){return y(e,Y).length>0}async function Q(e,t){if(_.some(t=>E(w.join(e,t)))||Z(e))return null;let r=K(),i=`${n(`app.cli.init.engineQuestion`)}\n${r.map((e,t)=>` ${t+1} ${e.label}`).join(`
|
|
204
|
-
`)}\n${n(`app.cli.init.numberQuestion`)}`;for(;;){let e=(await t(i)).trim();if(e===``)return r[0].engine;let n=/^\d+$/.test(e)?r[Number(e)-1]:void 0;if(n)return n.engine}}function $(e){let t=/* @__PURE__ */ new Set;for(let n of y(e,Y)){let e=s(O(n,`utf8`));e&&t.add(e)}for(let n of y(e,X)){let e=o(O(n,`utf8`));e&&t.add(e)}return[`camunda-8`,`flowable`,`activiti`,`operaton`,`cib-seven`,`camunda-7`,`classic`].find(e=>t.has(e))??`classic`}function ee(e,t){let i=w.join(e,`.gitignore`),a=g[0],o=E(i)?O(i,`utf8`):``;o.split(`
|
|
205
|
-
`).some(e=>e.trim()===a)||(A(i,`${o.trimEnd()}\n\n# ${n(`app.config.local.gitignore`)}\n${a}\n`.trimStart()),t.push(`${r(`updated`)} ${n(`app.cli.init.gitignore`,{entry:a})}`))}function te(e,t,i){if(!f(t)){let e=[...p];return{ok:!1,lines:[n(`app.cli.init.unknownExample`,{example:t,names:e.slice(0,-1).join(`, `),last:e[e.length-1]})]}}if((E(e)?k(e).filter(e=>e!==`.git`):[]).length>0)return{ok:!1,lines:[n(`app.cli.init.folderNotEmpty`,{folder:v(e)})]};for(let[n,a]of Object.entries(d(t))){let t=w.join(e,n);D(w.dirname(t),{recursive:!0}),A(t,a),i.push(`${r(`wrote`).padEnd(8)} ${v(t)}`)}return i.push(P(`exampleReadme`)),null}function ne(e,t,i,o,s,u){let d=s?w.resolve(e):h(e),f=[],p=u===void 0?null:a(u);if(u!==void 0&&!p){let e=G.map(e=>e.engine);return{ok:!1,lines:[n(`app.cli.init.unknownEngine`,{engine:u,names:e.slice(0,-1).join(`, `),last:e[e.length-1]})]}}if(s&&p&&p!==s)return{ok:!1,lines:[n(`app.cli.init.engineDoesNotFit`,{example:s,label:c(s),engine:u})]};if(s){let e=te(d,s,f);if(e)return e}let m=_.map(e=>w.join(d,e)).find(E);if(s)f.push(`${r(`kept`).padEnd(8)} ${v(m??w.join(d,_[0]))} ${n(`app.cli.init.asTheExampleWroteIt`)}`);else if(m)f.push(`${r(`kept`).padEnd(8)} ${v(m)} - ${n(`app.cli.init.alreadyAnswers`)}`),p&&f.push(` ${n(`app.cli.init.engineNotUsed`,{engine:p,file:w.basename(m),says:/^engine:\s*(\S+)/m.exec(O(m,`utf8`))?.[1]??n(`app.cli.init.whatItRunsOn`)})}`);else{let e=p??$(d),t=w.join(d,_[0]);A(t,`# yaml-language-server: $schema=${l}\n# ${n(`app.cli.init.configWhatItIs`)}\n# ${n(`app.config.file.overrides`)}\n\nengine: ${e}\n\n# deployment:\n# url: http://localhost:8080/engine-rest\n# name: ${w.basename(d)}\n#\n# profiles:\n# prod:\n# deployment:\n# url: https://bpm.example.com/engine-rest\n`),f.push(`${r(`wrote`).padEnd(8)} ${v(t)} (engine: ${e})`)}ee(d,f),C(d,f),i&&M(d,f);let g={github:[[w.join(`.github`,`workflows`,`penstock.yml`),F(o)],...o?[[w.join(`.github`,`workflows`,`penstock-bot.yml`),I]]:[],[w.join(`.github`,`workflows`,`penstock-publish.yml`),`name: Publish diagrams
|
|
206
|
-
|
|
207
|
-
on:
|
|
208
|
-
push:
|
|
209
|
-
branches: [main]
|
|
210
|
-
paths: ['**.bpmn', '**.bpmn20.xml', '**.bpmn.xml', '**.dmn', '**.form']
|
|
211
|
-
workflow_dispatch:
|
|
212
|
-
|
|
213
|
-
jobs:
|
|
214
|
-
deploy:
|
|
215
|
-
runs-on: ubuntu-latest
|
|
216
|
-
environment: production
|
|
217
|
-
steps:
|
|
218
|
-
- uses: actions/checkout@v4
|
|
219
|
-
- uses: actions/setup-node@v4
|
|
220
|
-
with:
|
|
221
|
-
node-version: 22
|
|
222
|
-
- env:
|
|
223
|
-
PENSTOCK_PROFILE: prod
|
|
224
|
-
PENSTOCK_PASSWORD: \${{ secrets.PENSTOCK_PASSWORD }}
|
|
225
|
-
PENSTOCK_TOKEN: \${{ secrets.PENSTOCK_TOKEN }}
|
|
226
|
-
run: ./penstockw deploy . --wait
|
|
227
|
-
`]],gitea:[[w.join(`.gitea`,`workflows`,o?`penstock-bot.yml`:`penstock.yml`),o?L:R]],forgejo:[[w.join(`.forgejo`,`workflows`,o?`penstock-bot.yml`:`penstock.yml`),o?L:R]],gitlab:[[`penstock.gitlab-ci.yml`,z(o)]],bitbucket:[[`bitbucket-pipelines.penstock.yml`,B(o)]],azure:[[`azure-pipelines.penstock.yml`,V(o)]]},y=x(g,t);if(t&&y){for(let[e,t]of y){let n=w.join(d,e);D(w.dirname(n),{recursive:!0}),A(n,t),f.push(`${r(`wrote`).padEnd(8)} ${v(n)}`)}t===`gitlab`&&f.push(P(`includeFrom`)),t===`bitbucket`&&f.push(P(`mergeInto`)),o?f.push(...W(t===`forgejo`?`gitea`:t)):f.push(U())}else if(t)return{ok:!1,lines:[n(`app.cli.init.unknownCi`,{ci:t})]};return{ok:!0,lines:ie(f)}}const re=[`wrote`,`kept`,`updated`,`skip`];function ie(e){let t=re.map(e=>r(e).replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)),a=RegExp(`^(${t.join(`|`)})\\s+(.*)$`),o=e=>{let t=e.indexOf(` - `);if(t>=0)return{target:e.slice(0,t),details:e.slice(t+3)};let n=m()?e.indexOf(` `):-1;return n<0?{target:e,details:``}:{target:e.slice(0,n),details:e.slice(n+1)}},s=[],c=[],l=()=>{c.length!==0&&(s.push(...i(c,{columns:[{name:`action`,header:n(`app.cli.header.action`),minWidth:8},{name:`target`,header:n(`app.cli.header.target`)},{name:`details`,header:n(`app.cli.header.details`)}],headers:!1})),c.length=0)};for(let t of e){let e=a.exec(t);e?c.push({action:e[1],...o(e[2].trim())}):(l(),s.push(t))}return l(),s}export{Q as chooseEngine,ne as initCommand};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,r as t,t as n}from"./chunk-translator-DNm9zRpP.js";import{d as r,n as i,u as a}from"./chunk-moddle-D3Ym38EZ.js";import{a as o,b as s,c,s as l,t as u}from"./chunk-engine-CxgdJ2wO.js";import{r as d,t as f}from"./chunk-unreadableDiagram-CcrctihL.js";import{n as p,r as m,t as h}from"./chunk-kind-FnMP6Ybq.js";import{D as ee,T as g}from"./chunk-load-rfn3E0t5.js";import{a as _,i as te,t as v}from"./chunk-context-rCJvBM9p.js";import{t as ne}from"./chunk-report-D9pM09Nu.js";import{i as re,n as y,r as b}from"./chunk-rules-Tds3uL4b.js";import{t as ie}from"./chunk-buffers-B8jONhEB.js";import{createRequire as x}from"node:module";import S from"node:path";import{existsSync as ae,readFileSync as oe}from"node:fs";function C(t){let[r,i]=e(n()).quotes;return r?`${r}${t}${i}`:t}function w(e){let n=`app.rules.compat.word.${se(e)}`,r=t(n);return r===n?m(e,!0):r}function se(e){let t=e.includes(`:`)?e.slice(e.indexOf(`:`)+1):e;return t&&t[0].toLowerCase()+t.slice(1)}function T(e){return e&&e[0].toUpperCase()+e.slice(1)}const E=/^[aeiou]/,ce=/^(user|uni|use|eu)/;function D(e){return E.test(e)&&!ce.test(e)?`an`:`a`}function O(e){return typeof e==`string`?e:e?.$type??``}function k(e){return(Array.isArray(e)?e:e===void 0?[]:[e]).map(O).filter(Boolean)}function le(e){let n=e.map(C);return n.length>1?t(`app.rules.compat.joinOr`,{list:n.slice(0,-1).join(`, `),last:n[n.length-1]}):n[0]??``}function A(e){return e.version?t(`app.rules.compat.targets`,{version:e.version}):``}function j(e){return t(`app.rules.compat.needs`,{allowed:e.allowed,targets:A(e)})}function ue(e){let n=k(e.data.requiredExtensionElement).map(e=>e.slice(e.indexOf(`:`)+1));return n.length===0?null:n.includes(`CalledDecision`)?t(`app.rules.compat.callsNoDecision`,{subject:e.subject}):n.includes(`Script`)?t(`app.rules.compat.hasNoScript`,{subject:e.subject}):n.includes(`TaskDefinition`)?t(`app.rules.compat.hasNoJobType`,{subject:e.subject}):null}function de(e,n){let{subject:r,data:i}=n,a=i.type,o=k(i.requiredProperty);switch(e){case`implementation`:return a===`camunda.propertyRequired`&&o.includes(`type`)?t(`app.rules.compat.hasNoJobType`,{subject:r}):a===`camunda.extensionElementRequired`?ue(n):null;case`called-element`:return a===`camunda.extensionElementRequired`||o.includes(`processId`)?t(`app.rules.compat.callsNoProcess`,{subject:r}):null;case`user-task-definition`:return a===`camunda.extensionElementRequired`?t(`app.rules.compat.hasNoForm`,{subject:r}):null;case`zeebe-user-task`:return a===`camunda.extensionElementRequired`?t(`app.rules.compat.isJobWorkerUserTask`,{subject:r}):null;case`user-task-form`:case`start-event-form`:return a===`camunda.propertyRequired`?t(`app.rules.compat.formWithNoId`,{subject:r}):null;case`message-reference`:case`error-reference`:case`signal-reference`:case`escalation-reference`:{let n=e.slice(0,e.indexOf(`-`));return a!==`camunda.propertyRequired`||!o.includes(`${n}Ref`)?null:t(e===`message-reference`?`app.rules.compat.refersToNoMessage`:e===`error-reference`?`app.rules.compat.refersToNoError`:e===`signal-reference`?`app.rules.compat.refersToNoSignal`:`app.rules.compat.refersToNoEscalation`,{subject:r})}case`subscription`:return a===`camunda.propertyRequired`&&o.includes(`correlationKey`)?t(`app.rules.compat.messageWithoutCorrelationKey`,{subject:r}):null;case`sequence-flow-condition`:return t(a===`camunda.propertyRequired`?`app.rules.compat.needsConditionOrDefault`:`app.rules.compat.conditionNotAllowedHere`,{subject:r});case`variable-name`:return t(`app.rules.compat.unreadableVariableName`,{subject:r});case`loop-characteristics`:return a===`camunda.extensionElementRequired`?t(`app.rules.compat.missingInputCollection`,{subject:r}):null;case`history-time-to-live`:return t(`app.rules.compat.historyTimeToLiveMissing`);case`element-type`:return a===`camunda.elementTypeNotAllowed`?t(`app.rules.compat.elementNeedsVersion`,{elements:T(p(n.kind||O(i.node),`other`)),allowed:n.allowed,targets:A(n)}):null;case`executable-process`:return t(`app.rules.compat.notExecutable`,{subject:r});case`no-multiple-none-start-events`:return t(`app.rules.compat.moreThanOneBlankStart`);case`link-event`:return t(`app.rules.compat.duplicateLinkName`);case`ad-hoc-sub-process`:return a===`camunda.childElementOfTypeRequired`?t(`app.rules.compat.noActivityInside`,{subject:r}):null;case`collapsed-subprocess`:return t(`app.rules.compat.isCollapsed`,{subject:r});case`event-based-gateway-target`:return t(`app.rules.compat.receiveTaskAfterGateway`);default:return null}}function fe(e){let{subject:n,data:r,allowed:i}=e,a=typeof r.property==`string`?C(w(r.property)):``,o=C(w(O(r.extensionElement)));switch(r.type){case`camunda.propertyRequired`:{let a=le(k(r.requiredProperty).map(e=>w(e)));return i?t(`app.rules.compat.needsPropertyBefore`,{subject:n,list:a,allowed:i,targets:A(e)}):t(`app.rules.compat.missingProperty`,{subject:n,list:a})}case`camunda.extensionElementRequired`:{let e=k(r.requiredExtensionElement)[0];return e?t(`app.rules.compat.missingExtension`,{subject:n,required:C(w(e))}):null}case`camunda.propertyNotAllowed`:return i?D(a)===`an`?t(`app.rules.compat.usesProperty.an`,{subject:n,property:a,needs:j(e)}):t(`app.rules.compat.usesProperty.a`,{subject:n,property:a,needs:j(e)}):D(a)===`an`?t(`app.rules.compat.cannotHaveProperty.an`,{subject:n,property:a}):t(`app.rules.compat.cannotHaveProperty.a`,{subject:n,property:a});case`camunda.extensionElementNotAllowed`:return i?D(o)===`an`?t(`app.rules.compat.usesExtension.an`,{subject:n,extension:o,needs:j(e)}):t(`app.rules.compat.usesExtension.a`,{subject:n,extension:o,needs:j(e)}):D(o)===`an`?t(`app.rules.compat.cannotHaveExtension.an`,{subject:n,extension:o}):t(`app.rules.compat.cannotHaveExtension.a`,{subject:n,extension:o});case`camunda.propertyValueNotAllowed`:case`camunda.propertyTypeNotAllowed`:return i?D(a)===`an`?t(`app.rules.compat.propertyValueNeeds.an`,{subject:n,property:a,needs:j(e)}):t(`app.rules.compat.propertyValueNeeds.a`,{subject:n,property:a,needs:j(e)}):D(a)===`an`?t(`app.rules.compat.propertyValueNotAllowed.an`,{subject:n,property:a}):t(`app.rules.compat.propertyValueNotAllowed.a`,{subject:n,property:a});case`camunda.expressionNotAllowed`:case`camunda.expressionValueNotAllowed`:return i?t(`app.rules.compat.expressionNeeds`,{subject:n,property:a,needs:j(e)}):t(`app.rules.compat.cannotUseExpression`,{subject:n,property:a});case`camunda.feelExpressionInvalid`:return t(`app.rules.compat.invalidFeelExpression`,{subject:n});case`camunda.feelExpressionUnsupportedFunction`:return t(`app.rules.compat.unsupportedFeelFunction`,{subject:n,version:e.version||t(`app.rules.compat.here`)});case`camunda.loopNotAllowed`:return t(`app.rules.compat.loopThatNeverWaits`,{subject:n});case`camunda.elementCollapsedNotAllowed`:return t(`app.rules.compat.isCollapsed`,{subject:n});case`camunda.elementMultipleNotAllowed`:return t(`app.rules.compat.moreThanOneElement`,{kind:h(e.kind||t(`app.rules.compat.element`))});case`camunda.attachedToRefElementTypeNotAllowed`:return t(`app.rules.compat.badBoundaryHost`,{subject:n});case`camunda.propertyDeprecated`:return D(a)===`an`?t(`app.rules.compat.deprecatedProperty.an`,{subject:n,property:a}):t(`app.rules.compat.deprecatedProperty.a`,{subject:n,property:a});case`camunda.secretExpressionFormatDeprecated`:case`camunda.secretExpressionFormatLegacy`:return t(`app.rules.compat.deprecatedSecret`,{subject:n})}let s=typeof r.type==`string`?r.type:``;return s.startsWith(`camunda.secretReference`)?t(`app.rules.compat.unresolvableSecret`,{subject:n}):s.startsWith(`camunda.agent`)?t(`app.rules.compat.invalidAgentSetting`,{subject:n}):null}function pe(e){let t=e.replace(/<([^<>]*)>/g,(e,t)=>/^[a-z]+:/i.test(t)&&/^(bpmn|bpmndi|zeebe|camunda|operaton|modeler):/i.test(t)?C(w(t)):t).replace(/\s+/g,` `).trim().replace(/[.]+$/,``);return t&&t[0].toLowerCase()+t.slice(1)}function me(e){try{let n=e.kind??``,r=(e.name?.trim()??``)||(n?t(`app.rules.compat.theKind`,{kind:h(n)}):t(`app.rules.compat.thisElement`)),i=e.data??{},a=typeof i.allowedVersion==`string`?i.allowedVersion:null,o={subject:r,kind:n,version:e.version??``,data:i,allowed:a};return de(e.rule,o)??fe(o)??t(`app.rules.compat.fallback`,{subject:r,message:pe(e.message)})}catch{return e.message}}const M=`penstock-engine`,he={"http://camunda.org/schema/1.0/bpmn":`Camunda 7`,"http://camunda.org/schema/zeebe/1.0":`Camunda 8`,"http://operaton.org/schema/1.0/bpmn":`Operaton`,[o]:`Flowable`,[u]:`Activiti`},N={flowable:o,activiti:u},P={flowable:`Flowable`,activiti:`Activiti`},F={camunda:`http://camunda.org/schema/1.0/bpmn`,zeebe:`http://camunda.org/schema/zeebe/1.0`,operaton:`http://operaton.org/schema/1.0/bpmn`,flowable:o,activiti:u},I=[`assignee`,`candidateUsers`,`candidateGroups`,`dueDate`,`skipExpression`,`expression`,`delegateExpression`];function L(e){let t=e;for(;t.$parent;)t=t.$parent;let n={};for(let[e,r]of Object.entries(t.$attrs??{}))e.startsWith(`xmlns:`)&&typeof r==`string`&&(n[e.slice(6)]=r);return n}function R(e,t){return t[e]??F[e]}function z(e){let t=e;for(;t&&!t.id;)t=t.$parent;return t?.id??``}function B(e){return(typeof e.name==`string`?e.name.trim():``)||t(`app.rules.lint.theElement`,{type:h(String(e.$type??``))})}function V(e){return Object.keys(e.$attrs??{}).filter(e=>e.includes(`:`)&&!e.startsWith(`xmlns:`))}function H(e,t){return typeof e.$instanceOf==`function`?e.$instanceOf(t):e.$type===t}function U(e,t,n){return(typeof e.get==`function`?e.get(`${t}:${n}`):void 0)??e.$attrs?.[`${t}:${n}`]}function ge(e){let n=e.flavour??`flowable`;return{check(e,r){let i=L(e),a=/* @__PURE__ */ new Map,o=(e,t)=>{let r=R(t,i),o=r?he[r]:void 0;o&&r!==N[n]&&a.set(o,[...a.get(o)??[],e])};for(let t of V(e))o(t,t.slice(0,t.indexOf(`:`)));for(let t of e.extensionElements?.values??[]){let e=String(t.$type??``);e.includes(`:`)&&o(e,e.slice(0,e.indexOf(`:`)))}for(let[i,o]of a)r.report(z(e),t(`app.rules.engineCheck.foreignExtension`,{subject:B(e),names:[...new Set(o)].join(`, `),owner:i,engine:P[n]}))}}}function W(e,t){let n=L(e);return V(e).filter(e=>{let r=e.slice(0,e.indexOf(`:`));return r===t||R(r,n)===N[t]})}function _e(e){let n=e.flavour??`flowable`;return{check(e,r){for(let i of W(e,n)){let o=i.slice(i.indexOf(`:`)+1);a.some(e=>e.name===o&&e.flavours.includes(n))||r.report(z(e),t(`app.rules.engineCheck.unknownAttribute`,{subject:B(e),name:i,engine:P[n]}))}}}}function ve(e){let n=e.flavour??`flowable`;return{check(e,i){for(let a of W(e,n)){let o=a.slice(a.indexOf(`:`)+1),s=r(n,o);s.length===0||s.some(t=>t.owners.some(t=>H(e,t)))||i.report(z(e),t(`app.rules.engineCheck.attributeNotAllowed`,{subject:B(e),name:a}))}}}}function ye(e){let n=e.flavour??`flowable`;return{check(e,r){(H(e,`bpmn:ComplexGateway`)||n===`activiti`&&H(e,`bpmn:ConditionalEventDefinition`))&&r.report(z(e),t(`app.rules.engineCheck.unsupportedElement`,{subject:B(e),engine:P[n]}))}}}function be(e){let n=e.flavour??`flowable`;return{check(e,r){if(!H(e,`bpmn:ServiceTask`)||H(e,`bpmn:SendTask`))return;let i=[`class`,`expression`,`delegateExpression`,`type`].some(t=>{let r=U(e,n,t);return typeof r==`string`&&r.trim()!==``}),a=typeof e.implementation==`string`&&e.implementation.trim()!==``;i||a||r.report(z(e),t(`app.rules.engineCheck.noImplementation`,{subject:B(e),engine:P[n]}))}}}function xe(){return{check(e,n){H(e,`bpmn:ScriptTask`)&&(typeof e.scriptFormat==`string`&&e.scriptFormat.trim()||n.report(z(e),t(`app.rules.engineCheck.noScriptFormat`,{subject:B(e)})))}}}function Se(e){let n=e.flavour??`flowable`;return{check(e,r){let i=e.conditionExpression,a=typeof i?.body==`string`?i.body.trim():``,o=typeof i?.language==`string`?i.language.toLowerCase():``,s=H(e,`bpmn:SequenceFlow`)&&i!==void 0&&(o.includes(`feel`)||a.startsWith(`=`)&&!a.includes("${")),c=I.find(t=>{let r=U(e,n,t);return typeof r==`string`&&r.trim().startsWith(`=`)});(s||c)&&r.report(z(e),t(`app.rules.engineCheck.feelExpression`,{subject:B(e),engine:P[n]}))}}}const G={"foreign-extension":ge,"unknown-attribute":_e,"attribute-not-allowed":ve,"unsupported-element":ye,"service-task-implementation":be,"script-format":xe,"feel-expression":Se},Ce=Object.keys(G),we={"foreign-extension":`error`,"unknown-attribute":`warn`,"attribute-not-allowed":`warn`,"unsupported-element":`error`,"service-task-implementation":`error`,"script-format":`error`,"feel-expression":`error`};function Te(e){return{rules:Object.fromEntries(Ce.map(t=>[`${M}/${t}`,[we[t],{flavour:e}]]))}}const K={resolveRule:e=>G[e],resolveConfig:e=>e===`flowable`||e===`activiti`?Te(e):void 0},q=`camunda-compat`,Ee=[`camunda-cloud-1-0`,`camunda-cloud-1-1`,`camunda-cloud-1-2`,`camunda-cloud-1-3`,`camunda-cloud-8-0`,`camunda-cloud-8-1`,`camunda-cloud-8-2`,`camunda-cloud-8-3`,`camunda-cloud-8-4`,`camunda-cloud-8-5`,`camunda-cloud-8-6`,`camunda-cloud-8-7`,`camunda-cloud-8-8`,`camunda-cloud-8-9`,`camunda-cloud-8-10`,`camunda-cloud-8-11`,`camunda-platform-7-19`,`camunda-platform-7-20`,`camunda-platform-7-21`,`camunda-platform-7-22`,`camunda-platform-7-23`,`camunda-platform-7-24`],J={"camunda-cloud":[],"camunda-platform":[]};for(let e of Ee){let[,t,n,r]=/^(camunda-(?:cloud|platform))-(\d+)-(\d+)$/.exec(e)??[];J[t].push({config:e,major:Number(n),minor:Number(r)})}function Y(e,t){return{platform:e,version:`${t.major}.${t.minor}`,config:t.config}}function De(e,t){let n=s(e)?.family;if(n===`flowable`||n===`activiti`)return{platform:n,version:``,config:n};if(n!==`camunda-8`&&n!==`camunda-7`)return null;let r=n===`camunda-8`?`camunda-cloud`:`camunda-platform`,i=J[r],a=i[i.length-1],o=/^\s*(\d+)\.(\d+)/.exec(t??``);if(!o)return Y(r,a);let c=Number(o[1])*1e3+Number(o[2]),l=i.filter(e=>e.major*1e3+e.minor<=c);return Y(r,l.length>0?l[l.length-1]:i[0])}function Oe(e){let t=e?.$attrs;if(!t)return null;let n=Object.keys(t).find(e=>e.endsWith(`:executionPlatformVersion`)),r=n?t[n]:null;return typeof r==`string`&&r.trim()?r.trim():null}const ke=`plugin:${q}/`;function Ae(e){let t=e.rules;if(typeof t!=`object`||!t)return e;let n=Object.fromEntries(Object.entries(t).map(([e,t])=>[e.startsWith(`compat/`)?`${q}/${e.slice(7)}`:e,t]));return{...e,rules:n}}function X(e){return e.platform===`flowable`||e.platform===`activiti`}function je(e,t){if(!t||typeof e!=`object`||!e)return e;let n=Ae(e),r=n.extends,i=Array.isArray(r)?r:r?[r]:[],a=X(t)?`plugin:${M}/`:ke;return i.some(e=>typeof e==`string`&&e.startsWith(a))?n:{...n,extends:[...i,`${a}${t.config}`]}}const Me=/* @__PURE__ */ new Set([`no-multiple-none-start-events`]);function Ne(e,t){return(n={})=>{let r=t(n);return{...r,check(t,i){let a=Object.create(i);return a.report=(r,a,o)=>{let s=o&&!Array.isArray(o)&&typeof o==`object`?o:void 0,c=t.id===r,l=me({rule:e,message:a,name:s?.name??(c?t.name:void 0),kind:c?t.$type:void 0,version:n.version,data:s?.data}),u=Me.has(e)&&s?{...s,data:{...s.data,scope:c?t.$parent?.id:t.id}}:o;i.report(r,l,u)},r.check(t,a)}}}}function Pe(e,t){let n=e,r=t;return{resolveRule:(e,t)=>e===`bpmnlint-plugin-penstock-engine`?K.resolveRule(t):e===`bpmnlint-plugin-camunda-compat`?Ne(t,r.resolveRule(e,t)):n.resolveRule(e,t),resolveConfig:(e,t)=>e===`bpmnlint-plugin-penstock-engine`?K.resolveConfig(t):(e===`bpmnlint-plugin-camunda-compat`?r:n).resolveConfig(e,t)}}function Fe(e,t,n){return t?{config:je(e.config,t),resolver:Pe(e.resolver,n)}:e}function Ie(e){let t=f(e instanceof Error?e:Error(String(e)));return d(t)}const Z=x(import.meta.url),Q=Z("bpmnlint/lib/resolver/node-resolver"),$=new Q({require:Z});function Le(e){let t=v(e).policy;return t&&t.manifest&&t.refused.length===0?t.manifest.rules:{}}function Re(e,t=!1){let n=Le(e);if(t)return{config:g(y(null),n),resolver:$};let{root:r,values:i}=v(e),a=_(te(i.lint).configPath),o=a?S.resolve(r,a):S.join(r,`.bpmnlintrc`),s=ae(o);return{config:g(y(s?oe(o,`utf8`):null),n),resolver:new Q({require:x(S.join(r,`penstock-rules.js`))})}}async function ze(e,n={}){let r=Re(e,n.builtInOnly===!0);try{let n=ie(e),a=c(_(v(e).values.engine))??l(n),{rootElement:o,warnings:u=[]}=await i(s(a)?.moddle??`plain`).fromXML(n),d=u.filter(e=>/^unresolved reference/.test(String(e.message))&&e.element?.id);if(d.length>0)return d.map(n=>({file:e,rule:`bpmnlint`,message:t(`app.output.unresolvedReference`,{id:n.element.id,property:String(n.property).replace(/^.*:/,``),value:String(n.value)}),severity:`error`,elements:[n.element.id]}));let f=Fe(r,De(a,Oe(o)),$),p=v(e).policy,m=p&&p.manifest&&p.refused.length===0?p:null;return(await re(o,f)).map(t=>ne(b(t.rule),{file:e,...m&&ee(t.rule,m.manifest?.rules)?{policy:m.name??void 0}:{},rule:b(t.rule)===`bpmnlint`?`bpmnlint/${t.rule}`:t.rule,message:t.elements.length>0?`${t.message} (${t.elements.join(`, `)})`:t.message,severity:t.severity,elements:t.elements}))}catch(n){return[{file:e,rule:`bpmnlint`,message:t(`app.output.rulesCouldNotRun`,{reason:Ie(n)}),severity:`error`}]}}export{ze as ruleFindings};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-version-CdS8_QQd.js";import{r as t}from"./chunk-translator-DNm9zRpP.js";import{f as n}from"./chunk-git-57LoLvY3.js";import{i as r,n as i,r as a,t as o}from"./chunk-help-CxU1lT1Y.js";import{t as s}from"./chunk-own-CX-3lIbf.js";import{parseArgs as c}from"node:util";const l=/* @__PURE__ */ `--profile.--lang.--format.--ci.--out.--base.--images-dir.--image-base.--images-link.--stage.--distribution.--ops.--ops-file.--after.--name.--id.--event.--set.--input.--output.--condition.--package.--only.--junit-xml.--timeout.--example.--engine.--target.--fail-on.--port.--host.--project.--element.--variables.--variables-file.--complete.--error.--workers.--env.--against.--secret-prefix.--agent.--min-rule-coverage.--exclude.--scenarios.--original-profile.--converted-profile.--severity.--source.--from.--to.--confirm.--approve-file.--since.--modeler-data`.split(`.`),u={lint:{to:[`check`,`--only`,`rules`],name:`penstock check --only rules`},analyze:{to:[`check`,`--only`,`flow`],name:`penstock check --only flow`},against:{to:[`diff`],name:`penstock diff <ref>`},config:{to:[`doctor`],name:`penstock doctor`},profiles:{to:[`doctor`],name:`penstock doctor`},upgrade:{to:[`license`,`buy`],name:`penstock license buy`},login:{to:[`license`,`login`],name:`penstock license login`},logout:{to:[`license`,`logout`],name:`penstock license logout`},wrapper:{to:[`update`],name:`penstock update`}},d={"--json":[`--format`,`json`],"--image":[`--images`]},f={list:[`paths`],run:[`test-cases`],generate:[`test-cases`,`--generate`]},p=Object.fromEntries(l.map(e=>[e.slice(2),{type:`string`,multiple:!0}]));p.out={type:`string`,multiple:!0,short:`o`};function m(e){let t=c({args:e,allowPositionals:!0,strict:!1,options:p,tokens:!0});return{values:t.values,positionals:[...t.positionals],tokens:[...t.tokens]}}function h(e){let t=m(e).tokens.find(e=>e.kind===`positional`);return!t||t.index===void 0?{at:-1,name:``,after:void 0}:{at:t.index,name:String(t.value),after:e[t.index+1]}}function g(e){let{at:n,name:r}=h(e),i=s(u,r);i&&process.stderr.write(`${t(`app.cli.renamed`,{old:r,now:i.name})}\n`);let a=n<0?e:e.slice(0,n),o=i?i.to:n<0?[]:[r],c=n<0?[]:e.slice(n+1);return[...a,...o,...c].flatMap(e=>{let n=s(d,e);return n?(process.stderr.write(`${t(`app.cli.flagRenamed`,{old:e,now:n.join(` `)})}\n`),n):[e]})}function _(e){let t=g(e),n=h(t),r=n.name===`scenarios`?s(f,n.after):void 0,i=r===void 0?n.name===`junit`?[...t.slice(0,n.at),`tests`,...t.slice(n.at+1)]:t:[...t.slice(0,n.at),...r,...t.slice(n.at+2)],a=m(i),o=e=>(a.values[e]??[]).filter(e=>typeof e==`string`),c=h(t);return{tokens:i,asksHelp:t.slice(0,t.includes(`--`)?t.indexOf(`--`):t.length).includes(`--help`),helpNames:c.at<0?[]:t.slice(c.at).filter(e=>e!==`--help`),command:a.positionals[0]??``,words:a.positionals.slice(1),flags:new Set(Object.keys(a.values).map(e=>`--${e}`)),unknownScenario:n.name===`scenarios`&&r===void 0,option:e=>o(e)[0],options:o}}async function v(n){r(n);let s=_(n);if(s.command===`version`||n[0]===`--version`)return process.stdout.write(`${e()??`development`}\n`),0;if(s.command===``||s.command===`help`)return process.stdout.write(a()),0;if(s.asksHelp){let e=o(s.helpNames);return process.stdout.write(e?i(e):a()),0}if(s.unknownScenario)return process.stderr.write(`${t(`app.cli.scenariosUsage`)}\n`),1;let{dispatch:c}=await import(`./chunk-dispatch-BnO-QhMh.js`);return c(s,n)}function y(e){return e.destroyed?Promise.resolve():new Promise(t=>e.write(``,()=>t()))}async function b(e){n(),await y(process.stdout),await y(process.stderr),process.exit(e)}for(let e of[process.stdout,process.stderr])e.on(`error`,e=>{throw(e.code===`EPIPE`||e.code===`ERR_STREAM_DESTROYED`)&&process.exit(141),e});v(process.argv.slice(2)).then(b).catch(async e=>{let{FolderTooLarge:t}=await import(`./chunk-folders-DX1N6vTK.js`);if(e instanceof t){process.stderr.write(`${e.message}\n`),await b(1);return}let{systemFailure:n}=await import(`./chunk-systemError-CXvnhNPK.js`),r=n(e);r===null?(process.stderr.write(`${e instanceof Error?e.message:String(e)}\n`),await b(2)):(process.stderr.write(`${r}\n`),await b(1))});export{};
|