@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,30 +1,30 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{l as e,t,u as n}from"./chunk-analyze-DgQqzEgb.js";import{r,t as i}from"./chunk-context-rCJvBM9p.js";import{t as a}from"./chunk-drawing-MbILUK8j.js";import{r as o}from"./chunk-command-vH1_y5F0.js";import{a as s,i as c,n as l,r as u}from"./chunk-sections-Co5ovFf4.js";import{d}from"./chunk-model-BulEKnY1.js";import{t as f}from"./chunk-plural-Dn-7ulHf.js";import{r as p,t as m}from"./chunk-translator-DNm9zRpP.js";import{n as h}from"./chunk-status-CmYxwOCn.js";import{n as g}from"./chunk-systemError-n2E6isvg.js";import{a as _}from"./chunk-failure-BRyRvObj.js";import{r as v,t as y}from"./chunk-unreadableDiagram-CcrctihL.js";import b from"node:path";import{existsSync as x,mkdirSync as S,readFileSync as C,writeFileSync as w}from"node:fs";const T=Buffer.from(`iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4//8/AAX+Av4N70a4AAAAAElFTkSuQmCC`,`base64`),E=`Helvetica`,D=`Helvetica-Bold`,ee=/[^\u0000-\u00ff\u2013\u2014\u2018-\u201e\u2020-\u2022\u2026\u2030\u2039\u203a\u20ac\u2122]/gu,te=[`/System/Library/Fonts/Supplemental/Arial Unicode.ttf`,`/Library/Fonts/Arial Unicode.ttf`,`/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf`,`/usr/share/fonts/dejavu/DejaVuSans.ttf`,`/usr/share/fonts/TTF/DejaVuSans.ttf`,`/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf`,`C:\\Windows\\Fonts\\arial.ttf`];function O(e){let t=/<svg[^>]*>/.exec(e)?.[0]??``,n=/viewBox="[-\d.]+[ ,]+[-\d.]+[ ,]+([\d.]+)[ ,]+([\d.]+)"/.exec(t),r=Number(/\swidth="([\d.]+)"/.exec(t)?.[1]??n?.[1]),i=Number(/\sheight="([\d.]+)"/.exec(t)?.[1]??n?.[2]);return r>0&&i>0?{width:r,height:i}:null}function k(e,t,n){let r=Math.min(1,t/e.width,n/e.height);return{width:Math.max(1,Math.round(e.width*r)),height:Math.max(1,Math.round(e.height*r))}}function A(e){return[e.title,e.meta,e.documentation??``,e.checkTitle,...e.findings,...e.sections.flatMap(e=>[e.title,e.note??``,...e.head,...e.rows.flat()]),(e.svg??``).replace(/<[^>]*>/g,``)].join(`
|
|
2
2
|
`)}async function j(e){let{AlignmentType:t,BorderStyle:n,Document:r,HeadingLevel:i,ImageRun:a,PageOrientation:o,Packer:s,Paragraph:c,Table:l,TableCell:u,TableRow:d,TextRun:f,WidthType:p}=await import(`docx`),m={style:n.SINGLE,size:4,color:`D0D7DE`},h=(e,t)=>new u({borders:{top:m,bottom:m,left:m,right:m},shading:t?{fill:`F6F8FA`}:void 0,children:e.split(`
|
|
3
|
-
`).map(e=>new c({children:[new f({text:e,bold:t,size:18})]}))}),g=[new c({heading:i.TITLE,children:[new f(e.title)]}),new c({children:[new f({text:e.meta,color:`656D76`})]})];e.documentation&&g.push(new c({spacing:{before:120},children:[new f(e.documentation)]}));let _=e.svg?O(e.svg):null;if(e.svg&&_){let n=k(_,900,460);g.push(new c({alignment:t.CENTER,spacing:{before:200,after:200},children:[new a({type:`svg`,data:Buffer.from(e.svg.replace(/^[\s\S]*?(?=<svg)/,``)),transformation:n,fallback:{type:`png`,data:T},altText:{title:e.title,description:e.title,name:e.title}})]}))}g.push(new c({heading:i.HEADING_2,children:[new f(e.checkTitle)]}));for(let t of e.findings)g.push(new c({bullet:{level:0},children:[new f(t)]}));for(let t of e.sections)g.push(new c({heading:i.HEADING_2,spacing:{before:280},children:[new f(t.title)]})),t.note&&g.push(new c({children:[new f({text:t.note,color:`656D76`})]})),g.push(new l({width:{size:100,type:p.PERCENTAGE},rows:[new d({tableHeader:!0,children:t.head.map(e=>h(e,!0))}),...t.rows.map(e=>new d({cantSplit:!0,children:e.map(e=>h(e,!1))}))]}));let v=new r({title:e.title,styles:{default:{document:{run:{font:`Calibri`,size:21}}}},sections:[{properties:{page:{size:{orientation:o.LANDSCAPE}}},children:g}]});return s.toBuffer(v)}async function ne(e){let[{default:t},{default:n}]=await Promise.all([import(`pdfkit`),import(`svg-to-pdfkit`)]),r=new t({size:[842,595],margin:40,info:{Title:e.title},compress:!0}),i=[];r.on(`data`,e=>i.push(e));let a=new Promise(e=>r.on(`end`,e)),o=A(e),s=[...new Set(o.match(ee)??[])],c=E,l=D,u=s;if(s.length>0)for(let e of te.filter(e=>x(e))){r.registerFont(`Unicode`,e),r.font(`Unicode`);let t=r._font.font,n=s.filter(e=>!t.hasGlyphForCodePoint(e.codePointAt(0)));if((n.length<u.length||u===s)&&(c=l=`Unicode`,u=n,n.length===0))break}let d=e=>u.length===0?e:[...e].map(e=>u.includes(e)?`?`:e).join(``);r.font(l).fontSize(22).fillColor(`#1f2328`).text(d(e.title),{width:762}),r.font(c).fontSize(10).fillColor(`#656d76`).text(d(e.meta),{width:762}),e.documentation&&r.moveDown(.6).fontSize(11).fillColor(`#1f2328`).text(d(e.documentation),{width:762});let f=e.svg?O(e.svg):null;if(e.svg&&f){let t=k(f,762,475);r.y+t.height>555&&r.addPage();let i=r.y+12;n(r,e.svg.replace(/^[\s\S]*?(?=<svg)/,``),40+(762-t.width)/2,i,{width:t.width,height:t.height,preserveAspectRatio:`xMidYMid meet`,fontCallback:(e,t)=>c===`Unicode`?`Unicode`:t?D:E,assumePt:!1}),r.x=40,r.y=i+t.height+12}let p=e=>{r.y>475&&r.addPage(),r.moveDown(.8).font(l).fontSize(15).fillColor(`#1f2328`).text(d(e),40,r.y,{width:762}),r.moveDown(.3)};p(e.checkTitle),r.font(c).fontSize(10.5).fillColor(e.clean?`#1a7f37`:`#cf222e`);for(let t of e.findings)r.text(`${e.clean?``:`• `}${d(t)}`,40,r.y,{width:762});for(let t of e.sections)p(t.title),t.note&&r.font(c).fontSize(10).fillColor(`#656d76`).text(d(t.note),40,r.y,{width:762}).moveDown(.3),r.table({defaultStyle:{padding:4,border:[0,0,.5,0],borderColor:`#d0d7de`},rowStyles:e=>e===0?{border:[0,0,1,0],borderColor:`#8c959f`}:void 0,columnStyles:Array(t.head.length).fill(`*`),data:[t.head.map(e=>({text:d(e),font:{family:l,size:9},textColor:`#656d76`})),...t.rows.map(e=>e.map(e=>({text:d(e),font:{family:c,size:9},textColor:`#1f2328`})))]}),r.x=40;return r.end(),await a,{data:Buffer.concat(i),unsupported:u}}const M=/\.bpmn(\.xml|20\.xml)?$/i,N=/\.(bpmn(\.xml|20\.xml)?|dmn|form)$/i,re=/Task$|SubProcess$|^CallActivity$|^Transaction$/,ie=/Gateway$/,P=/Event$/,F=[`jobType`,`class`,`delegateExpression`,`expression`,`topic`,`calledElement`,`processId`],I=[`assignee`,`candidateGroups`,`candidateUsers`],L=[`formId`,`formKey`];function R(e){return e==null?``:typeof e==`object`?Object.entries(e).map(([e,t])=>`${e} = ${t}`).join(`, `):String(e)}function z(e,t){return t.map(t=>e.properties[t]===void 0?``:R(e.properties[t])).filter(Boolean).join(`, `)}function B(e,t){let n=/* @__PURE__ */ new Map,r=e=>(n.has(e)||n.set(e,{writtenBy:/* @__PURE__ */ new Set,readBy:/* @__PURE__ */ new Set}),n.get(e)),i=e=>[...e.matchAll(/[A-Za-z_][A-Za-z0-9_]*/g)].map(e=>e[0]),a=/* @__PURE__ */ new Set([`true`,`false`,`null`,`and`,`or`,`not`,`if`,`then`,`else`,`for`,`in`,`return`,`some`,`every`,`satisfies`,`instance`,`of`,`execution`,`task`]);for(let n of e){let e=n.properties.inputs,o=n.properties.outputs;if(e&&typeof e==`object`)for(let o of Object.values(e))for(let e of i(String(o)))a.has(e)||r(e).readBy.add(t(n.id));if(o&&typeof o==`object`)for(let e of Object.keys(o))r(e).writtenBy.add(t(n.id));let s=n.properties.resultVariable;typeof s==`string`&&r(s).writtenBy.add(t(n.id))}return[...n.entries()].map(([e,{writtenBy:t,readBy:n}])=>({name:e,writtenBy:[...t],readBy:[...n]})).sort((e,t)=>e.name.localeCompare(t.name))}function V(e){return e.replace(/[^A-Za-z0-9]+/g,`-`).replace(/^-|-$/g,``).toLowerCase()}async function H(
|
|
3
|
+
`).map(e=>new c({children:[new f({text:e,bold:t,size:18})]}))}),g=[new c({heading:i.TITLE,children:[new f(e.title)]}),new c({children:[new f({text:e.meta,color:`656D76`})]})];e.documentation&&g.push(new c({spacing:{before:120},children:[new f(e.documentation)]}));let _=e.svg?O(e.svg):null;if(e.svg&&_){let n=k(_,900,460);g.push(new c({alignment:t.CENTER,spacing:{before:200,after:200},children:[new a({type:`svg`,data:Buffer.from(e.svg.replace(/^[\s\S]*?(?=<svg)/,``)),transformation:n,fallback:{type:`png`,data:T},altText:{title:e.title,description:e.title,name:e.title}})]}))}g.push(new c({heading:i.HEADING_2,children:[new f(e.checkTitle)]}));for(let t of e.findings)g.push(new c({bullet:{level:0},children:[new f(t)]}));for(let t of e.sections)g.push(new c({heading:i.HEADING_2,spacing:{before:280},children:[new f(t.title)]})),t.note&&g.push(new c({children:[new f({text:t.note,color:`656D76`})]})),g.push(new l({width:{size:100,type:p.PERCENTAGE},rows:[new d({tableHeader:!0,children:t.head.map(e=>h(e,!0))}),...t.rows.map(e=>new d({cantSplit:!0,children:e.map(e=>h(e,!1))}))]}));let v=new r({title:e.title,styles:{default:{document:{run:{font:`Calibri`,size:21}}}},sections:[{properties:{page:{size:{orientation:o.LANDSCAPE}}},children:g}]});return s.toBuffer(v)}async function ne(e){let[{default:t},{default:n}]=await Promise.all([import(`pdfkit`),import(`svg-to-pdfkit`)]),r=new t({size:[842,595],margin:40,info:{Title:e.title},compress:!0}),i=[];r.on(`data`,e=>i.push(e));let a=new Promise(e=>r.on(`end`,e)),o=A(e),s=[...new Set(o.match(ee)??[])],c=E,l=D,u=s;if(s.length>0)for(let e of te.filter(e=>x(e))){r.registerFont(`Unicode`,e),r.font(`Unicode`);let t=r._font.font,n=s.filter(e=>!t.hasGlyphForCodePoint(e.codePointAt(0)));if((n.length<u.length||u===s)&&(c=l=`Unicode`,u=n,n.length===0))break}let d=e=>u.length===0?e:[...e].map(e=>u.includes(e)?`?`:e).join(``);r.font(l).fontSize(22).fillColor(`#1f2328`).text(d(e.title),{width:762}),r.font(c).fontSize(10).fillColor(`#656d76`).text(d(e.meta),{width:762}),e.documentation&&r.moveDown(.6).fontSize(11).fillColor(`#1f2328`).text(d(e.documentation),{width:762});let f=e.svg?O(e.svg):null;if(e.svg&&f){let t=k(f,762,475);r.y+t.height>555&&r.addPage();let i=r.y+12;n(r,e.svg.replace(/^[\s\S]*?(?=<svg)/,``),40+(762-t.width)/2,i,{width:t.width,height:t.height,preserveAspectRatio:`xMidYMid meet`,fontCallback:(e,t)=>c===`Unicode`?`Unicode`:t?D:E,assumePt:!1}),r.x=40,r.y=i+t.height+12}let p=e=>{r.y>475&&r.addPage(),r.moveDown(.8).font(l).fontSize(15).fillColor(`#1f2328`).text(d(e),40,r.y,{width:762}),r.moveDown(.3)};p(e.checkTitle),r.font(c).fontSize(10.5).fillColor(e.clean?`#1a7f37`:`#cf222e`);for(let t of e.findings)r.text(`${e.clean?``:`• `}${d(t)}`,40,r.y,{width:762});for(let t of e.sections)p(t.title),t.note&&r.font(c).fontSize(10).fillColor(`#656d76`).text(d(t.note),40,r.y,{width:762}).moveDown(.3),r.table({defaultStyle:{padding:4,border:[0,0,.5,0],borderColor:`#d0d7de`},rowStyles:e=>e===0?{border:[0,0,1,0],borderColor:`#8c959f`}:void 0,columnStyles:Array(t.head.length).fill(`*`),data:[t.head.map(e=>({text:d(e),font:{family:l,size:9},textColor:`#656d76`})),...t.rows.map(e=>e.map(e=>({text:d(e),font:{family:c,size:9},textColor:`#1f2328`})))]}),r.x=40;return r.end(),await a,{data:Buffer.concat(i),unsupported:u}}const M=/\.bpmn(\.xml|20\.xml)?$/i,N=/\.(bpmn(\.xml|20\.xml)?|dmn|form)$/i,re=/Task$|SubProcess$|^CallActivity$|^Transaction$/,ie=/Gateway$/,P=/Event$/,F=[`jobType`,`class`,`delegateExpression`,`expression`,`topic`,`calledElement`,`processId`],I=[`assignee`,`candidateGroups`,`candidateUsers`],L=[`formId`,`formKey`];function R(e){return e==null?``:typeof e==`object`?Object.entries(e).map(([e,t])=>`${e} = ${t}`).join(`, `):String(e)}function z(e,t){return t.map(t=>e.properties[t]===void 0?``:R(e.properties[t])).filter(Boolean).join(`, `)}function B(e,t){let n=/* @__PURE__ */ new Map,r=e=>(n.has(e)||n.set(e,{writtenBy:/* @__PURE__ */ new Set,readBy:/* @__PURE__ */ new Set}),n.get(e)),i=e=>[...e.matchAll(/[A-Za-z_][A-Za-z0-9_]*/g)].map(e=>e[0]),a=/* @__PURE__ */ new Set([`true`,`false`,`null`,`and`,`or`,`not`,`if`,`then`,`else`,`for`,`in`,`return`,`some`,`every`,`satisfies`,`instance`,`of`,`execution`,`task`]);for(let n of e){let e=n.properties.inputs,o=n.properties.outputs;if(e&&typeof e==`object`)for(let o of Object.values(e))for(let e of i(String(o)))a.has(e)||r(e).readBy.add(t(n.id));if(o&&typeof o==`object`)for(let e of Object.keys(o))r(e).writtenBy.add(t(n.id));let s=n.properties.resultVariable;typeof s==`string`&&r(s).writtenBy.add(t(n.id))}return[...n.entries()].map(([e,{writtenBy:t,readBy:n}])=>({name:e,writtenBy:[...t],readBy:[...n]})).sort((e,t)=>e.name.localeCompare(t.name))}function V(e){return e.replace(/[^A-Za-z0-9]+/g,`-`).replace(/^-|-$/g,``).toLowerCase()}async function H(e,n){let r=C(e,`utf8`),{engine:i,elements:c}=await o(e),l=new Map(c.map(e=>[e.id,e])),u=e=>{let t=l.get(e);return t?.name?.replace(/\s+/g,` `).trim()||(t?s(t.type):e)},d=c.filter(e=>re.test(e.type.replace(`bpmn:`,``))),m=c.filter(e=>ie.test(e.type)&&e.outgoing.length>1).map(e=>({gateway:e,ways:e.outgoing.map(e=>l.get(e)).filter(e=>!!e).map(e=>({flow:e,to:u(e.target??``)}))})),h=c.filter(e=>P.test(e.type)),g=(await a(r).catch(()=>null))?.svg??null,{problems:_}=await t(e),v=b.relative(n,e),y=c.find(e=>e.type===`bpmn:Participant`&&e.name);return{slug:V(v.replace(M,``)),title:y?.name?.replace(/\s+/g,` `).trim()||b.basename(e).replace(M,``),file:v,kind:`process`,engine:i,size:f(d.length,`app.cli.docs.count.step`),svg:g,sections:ae(d,m,h,B(d,u),u),problems:_.map(e=>`${e.title}: ${e.detail}`),clean:p(`app.cli.docs.everyPathEnds`),fine:p(`app.cli.docs.runsToItsEnd`),documentation:c.find(e=>e.type===`bpmn:Participant`&&e.properties.documentation)?.properties.documentation}}async function U(e,t){let{rootElement:r}=await d(C(e,`utf8`)),i=r.drgElement??[],a=i.filter(e=>e.$type===`dmn:Decision`).length,o=b.relative(t,e);return{slug:V(o),title:r.name?.trim()||b.basename(e).replace(N,``),file:o,kind:`decision`,engine:`DMN`,size:f(a,`app.cli.docs.count.decision`),svg:null,sections:l(i),problems:n(r).map(e=>`${e.title}: ${e.detail}`),clean:p(`app.cli.docs.noTwoRulesMatch`),fine:p(`app.cli.docs.everyInputHasOneRule`),documentation:void 0}}function W(t,n){let r=JSON.parse(C(t,`utf8`)),i=c(r.components??[],[]),a=b.relative(n,t);return{slug:V(a),title:r.id?.trim()||b.basename(t).replace(N,``),file:a,kind:`form`,engine:p(`app.sections.form`),size:f(i.length,`app.cli.docs.count.field`),svg:null,sections:[u(i)],problems:e(r).map(e=>`${e.title}: ${e.detail}`),clean:p(`app.form.everyFieldWritesItsOwn`),fine:p(`app.cli.docs.everyFieldHasItsOwn`),documentation:void 0}}async function G(e,t){return/\.dmn$/i.test(e)?U(e,t):/\.form$/i.test(e)?W(e,t):H(e,t)}function K(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function q(e,t){return t.length===0?``:`<table><thead><tr>${e.map(e=>`<th>${K(e)}</th>`).join(``)}</tr></thead><tbody>\n${t.map(e=>`<tr>${e.map(e=>`<td>${K(e)}</td>`).join(``)}</tr>`).join(`
|
|
4
4
|
`)}\n</tbody></table>`}function J(e){return e.replace(/\|/g,`\\|`).replace(/\n/g,` `)||` `}function Y(e,t){return t.length===0?``:[`| ${e.join(` | `)} |`,`| ${e.map(()=>`---`).join(` | `)} |`,...t.map(e=>`| ${e.map(J).join(` | `)} |`)].join(`
|
|
5
|
-
`)}function ae(t,n,r,i
|
|
5
|
+
`)}function ae(e,t,n,r,i){return[{title:p(`app.runs.steps`),head:[p(`app.cli.docs.step`),p(`app.sections.kind`),p(`app.cli.docs.runs`),p(`app.cli.docs.who`),p(`app.cli.docs.form`),p(`app.sections.notes`)],rows:e.map(e=>[i(e.id),s(e.type),z(e,F),z(e,I),z(e,L),R(e.properties.documentation)])},{title:p(`app.toolWindow.section.decisions`),head:[p(`app.sections.decision`),p(`app.cli.docs.way`),p(`app.cli.docs.goesTo`),p(`app.cli.docs.when`)],rows:t.flatMap(({gateway:e,ways:t})=>t.map((t,n)=>[n===0?i(e.id):``,t.flow.name??``,t.to,R(t.flow.properties.condition)]))},{title:p(`app.cli.docs.events`),head:[p(`app.cli.docs.event`),p(`app.sections.kind`),p(`app.cli.docs.trigger`)],rows:n.map(e=>[i(e.id),s(e.type),R(e.properties.event)])},{title:p(`app.cli.docs.data`),head:[p(`app.cli.docs.variable`),p(`app.code.wording.setBy`),p(`app.code.wording.usedBy`)],rows:r.map(e=>[e.name,e.writtenBy.join(`, `),e.readBy.join(`, `)])}]}function oe(e){return e.kind===`decision`||e.kind===`form`?p(`app.cli.docs.check`):p(`app.diagramCheck.howItRuns`)}function se(e){return e.problems.length===0?[e.clean]:e.problems}function X(e){return{title:e.title,meta:`${e.file} · ${e.engine} · ${e.size}`,documentation:e.documentation,svg:e.svg,checkTitle:oe(e),findings:se(e),clean:e.problems.length===0,sections:e.sections.filter(e=>e.rows.length>0)}}function Z(e){return e.problems.length===0?e.fine:f(e.problems.length,`app.cli.docs.count.problem`)}const Q=`body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;color:#1f2328;background:#fff}
|
|
6
6
|
main{max-width:1100px;margin:0 auto;padding:32px 24px}h1{font-size:28px;margin:0 0 4px}h2{font-size:19px;margin:32px 0 8px}
|
|
7
7
|
.meta{color:#656d76;margin:0 0 16px}.picture{border:1px solid #d0d7de;border-radius:8px;padding:12px;overflow:auto;background:#fff}
|
|
8
8
|
.picture svg{max-width:100%;height:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid #d0d7de;padding:6px 8px;text-align:left;vertical-align:top}
|
|
9
9
|
th{color:#656d76;font-weight:600}.ok{color:#1a7f37}.problem{color:#cf222e}a{color:#0969da;text-decoration:none}ul{padding-left:20px}
|
|
10
|
-
.card{display:block;border:1px solid #d0d7de;border-radius:8px;padding:12px 16px;margin:8px 0;color:inherit}.card:hover{border-color:#0969da}`;function ce(
|
|
11
|
-
`);return`<!doctype html><html lang="${
|
|
12
|
-
<body><main><p><a href="index.html">${K(
|
|
13
|
-
<p class="meta">${K(
|
|
14
|
-
${
|
|
15
|
-
${
|
|
16
|
-
<h2>${K(
|
|
17
|
-
${
|
|
10
|
+
.card{display:block;border:1px solid #d0d7de;border-radius:8px;padding:12px 16px;margin:8px 0;color:inherit}.card:hover{border-color:#0969da}`;function ce(e){let t=X(e),n=t.clean?`<p class="ok">${K(t.findings[0])}</p>`:`<ul>${t.findings.map(e=>`<li class="problem">${K(e)}</li>`).join(``)}</ul>`,r=t.sections.map(e=>`<h2>${K(e.title)}</h2>\n${e.note?`<p class="meta">${K(e.note)}</p>\n`:``}${q(e.head,e.rows)}`).join(`
|
|
11
|
+
`);return`<!doctype html><html lang="${m()}"><head><meta charset="utf-8"><title>${K(t.title)}</title><style>${Q}</style></head>
|
|
12
|
+
<body><main><p><a href="index.html">${K(p(`app.cli.docs.allDiagrams`))}</a></p><h1>${K(t.title)}</h1>
|
|
13
|
+
<p class="meta">${K(e.file)} · ${K(e.engine)} · ${K(e.size)}</p>
|
|
14
|
+
${t.documentation?`<p>${K(t.documentation)}</p>`:``}
|
|
15
|
+
${t.svg?`<div class="picture">${t.svg.replace(/^[\s\S]*?(?=<svg)/,``)}</div>`:``}
|
|
16
|
+
<h2>${K(t.checkTitle)}</h2>${n}
|
|
17
|
+
${r}
|
|
18
18
|
</main></body></html>
|
|
19
|
-
`}function le(
|
|
20
|
-
`);return`<!doctype html><html lang="${
|
|
21
|
-
<body><main><h1>${K(
|
|
22
|
-
${
|
|
19
|
+
`}function le(e,t){let n=e.map(e=>{let t=`<span class="${e.problems.length===0?`ok`:`problem`}">${K(Z(e))}</span>`;return`<a class="card" href="${e.slug}.html"><strong>${K(e.title)}</strong><br><span class="meta">${K(e.file)} · ${K(e.size)} · ${t}</span></a>`}).join(`
|
|
20
|
+
`);return`<!doctype html><html lang="${m()}"><head><meta charset="utf-8"><title>${K(p(`app.cli.docs.diagramsOf`,{project:t}))}</title><style>${Q}</style></head>
|
|
21
|
+
<body><main><h1>${K(t)}</h1><p class="meta">${f(e.length,`app.cli.docs.count.page`)}</p>
|
|
22
|
+
${n}
|
|
23
23
|
</main></body></html>
|
|
24
24
|
`}function $(e){let t=X(e),n=t.sections.map(e=>[`## ${e.title}`,...e.note?[e.note]:[],Y(e.head,e.rows)].join(`
|
|
25
25
|
|
|
26
26
|
`));return[`# ${t.title}`,``,`\`${e.file}\` · ${e.engine} · ${e.size}`,...t.documentation?[``,t.documentation]:[],...t.svg?[``,``]:[],``,`## ${t.checkTitle}`,``,...t.findings.map(e=>`- ${e}`),``,n.join(`
|
|
27
27
|
|
|
28
28
|
`),``].join(`
|
|
29
|
-
`)}function ue(t
|
|
30
|
-
`)}function de(
|
|
29
|
+
`)}function ue(e,t){return[`# ${t}`,``,Y([p(`app.export.diagram`),p(`app.migration.report.columnFile`),p(`app.cli.docs.size`),p(`app.cli.docs.check`)],e.map(e=>[`[${e.title}](${e.slug}.md)`,e.file,e.size,Z(e)])),``].join(`
|
|
30
|
+
`)}function de(e){let t=[[`process`,`app.cli.docs.count.process`],[`decision`,`app.cli.docs.count.decision`],[`form`,`app.cli.docs.count.form`]],n=t=>e.filter(e=>(/\.dmn$/i.test(e.file)?`decision`:/\.form$/i.test(e.file)?`form`:`process`)===t).length,r=t.map(([e,t])=>[n(e),t]).filter(([e])=>e>0).map(([e,t])=>f(e,t));return p(`app.cli.docs.writtenSummary`,{pages:f(e.length,`app.cli.docs.count.page`),because:r.length>0?` (${r.join(`, `)})`:``})}async function fe(e,t,n){if(![`html`,`md`,`docx`,`pdf`,`text`].includes(n))return{ok:!1,lines:[p(`app.cli.docs.format`)]};let a=n===`md`,o=i(e[0]).root,s=b.resolve(t??b.join(o,`penstock-docs`)),c=[],l=[];for(let t of e)try{c.push(await G(t,o))}catch(e){let n=_(e);l.push(`${h(`skip`).padEnd(5)} ${r(t)}: ${n??v(y(e instanceof Error?e:Error(String(e))))}`)}if(c.length===0)return{ok:!1,lines:l};S(s,{recursive:!0}),c.sort((e,t)=>e.title.localeCompare(t.title));let u=e=>V((e.file.split(/[\\/]/).pop()??e.slug).replace(N,``)),d=/* @__PURE__ */ new Map;c.forEach(e=>d.set(u(e),(d.get(u(e))??0)+1)),c.forEach(e=>{d.get(u(e))===1&&(e.slug=u(e))});let f=b.basename(o),m=n===`docx`||n===`pdf`,x=m?n:a?`md`:`html`;for(let e of c){let t=b.join(s,`${e.slug}.${x}`);try{if(n===`docx`)w(t,await j(X(e)));else if(n===`pdf`){let n=await ne(X(e));w(t,n.data),n.unsupported.length>0&&l.push(p(`app.cli.docs.pdfFont`,{file:r(t),characters:n.unsupported.slice(0,12).join(` `)}))}else a?(w(t,$(e)),e.svg&&w(b.join(s,`${e.slug}.svg`),e.svg)):w(t,ce(e))}catch(e){return l.push(g(e,t)),{ok:!1,lines:l}}l.push(p(`app.cli.wrote`,{file:r(t)}))}if(!m){let e=b.join(s,a?`README.md`:`index.html`);w(e,a?ue(c,f):le(c,f)),l.push(p(`app.cli.wrote`,{file:r(e)}))}return l.push(``,de(c)),{ok:c.length>0,lines:l}}export{fe as docsCommand};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,i as t,t as n}from"./chunk-context-rCJvBM9p.js";import{M as r,P as i,a,d as o,s}from"./chunk-load-rfn3E0t5.js";import{o as c}from"./chunk-failure-BRyRvObj.js";import{c as l,p as u,u as d}from"./chunk-engine-CxgdJ2wO.js";import{t as f}from"./chunk-table-BOiaGWwY.js";import{i as p}from"./chunk-deploy-DZgCTgaY.js";import{t as m}from"./chunk-features-C6o8of19.js";import{u as h}from"./chunk-license-BG88gpDZ.js";import{s as g}from"./chunk-variableChecks-CBDpmI4d.js";import{n as _}from"./chunk-aiVerify-DPNBNhx4.js";import{r as v}from"./chunk-translator-DNm9zRpP.js";import{t as y}from"./chunk-own-CX-3lIbf.js";import b from"node:path";import{existsSync as x,readFileSync as S}from"node:fs";const C={"camunda-7":`engine`,operaton:`engine`,"cib-seven":`engine`,classic:`engine`,"camunda-8":`topology`};function w(e,t){let n=y(C,t);return n?`${e.replace(/\/+$/,``)}/${n}`:e}async function T(e,t){try{let e=await fetch(t,{method:`GET`,signal:AbortSignal.timeout(4e3)});return e.ok?v(`app.cli.doctor.reachable`,{status:e.status}):v(`app.cli.doctor.answered`,{status:e.status})}catch(e){return v(`app.cli.doctor.unreachable`,{reason:c(e)})}}const E=[`pom.xml`,`build.gradle`,`build.gradle.kts`];function D(e){for(let t of E){let n=b.join(e,t),r=x(n)?u(S(n,`utf8`)):null;if(r)return r}return null}const O=/(password|secret|api[-_]?key|^token)$/i;function k(e){return Array.isArray(e)?e.map(k):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,O.test(e)&&typeof t==`string`?`***`:k(t)]))}async function A(c,u=!1){let{root:y,files:S,values:C}=n(c);if(u)return{ok:!0,lines:[JSON.stringify(k(C),null,2)]};let E=[],O=!0;E.push({property:`node`,value:process.version}),E.push({property:`root`,value:y}),S.length===0?(O=!1,E.push({property:`config`,value:v(`app.cli.doctor.noConfig`)})):E.push({property:`config`,value:S.map(e=>b.relative(y,e)).join(`, `)});for(let{file:e,problems:t}of a(S))for(let n of t)E.push({property:b.relative(y,e),value:o(n)});let A=e(C.engine);A?E.push({property:`engine`,value:A}):(O=!1,E.push({property:`engine`,value:v(`app.cli.doctor.noEngine`)}));let j=D(y);j&&A&&j!==l(A)&&E.push({property:`build`,value:v(`app.cli.doctor.buildEngine`,{build:d(j),engine:d(A)})});let{merged:M}=s(c),N=r(M,process.env),P=i(M);E.push({property:`profiles`,value:P.length===0?v(`app.cli.doctor.noProfiles`):P.map(e=>e===N?`*${e}`:e).join(`, `)});let F=t(C.lint),I=e(F.configPath);if(I){let e=b.resolve(y,I);x(e)||(O=!1),E.push({property:`rules`,value:x(e)?e:v(`app.cli.doctor.missing`,{path:e})})}let L=Array.isArray(C.elementTemplates)?C.elementTemplates:[];for(let e of L){let t=b.resolve(y,e);x(t)||(O=!1),E.push({property:`templates`,value:x(t)?t:v(`app.cli.doctor.missing`,{path:t})})}if(C.variables!==void 0){let{mode:e}=g(C),t=e===`off`||m(await h());E.push({property:`variables`,value:t?e:v(`app.cli.doctor.variablesNeedPro`,{mode:e})})}if(t(C.ai).verify!==void 0){let e=_(C),t=e=>v(e?`app.cli.doctor.on`:`app.cli.doctor.off`),n=v(`app.cli.doctor.aiVerify`,{attempts:e.attempts,kept:t(e.keepReceipts),gate:t(e.requireReceipt)}),r=e.attempts>0||e.keepReceipts||e.requireReceipt;E.push({property:`ai.verify`,value:r&&!m(await h())?v(`app.cli.doctor.aiVerifyNeedsPro`,{summary:n}):n})}let R=e(t(C.deployment).url);if(!R)E.push({property:`deployment`,value:v(`app.cli.doctor.noUrl`)});else{E.push({property:`deployment`,value:v(`app.cli.doctor.deployment`,{url:R,state:await T(R,w(R,A??``))})});let e=p(t(t(C.deployment).auth),process.env);e.problem&&(O=!1,E.push({property:`auth`,value:e.problem})),e.notes.forEach(e=>E.push({property:`auth`,value:e}))}let z=f(E,{columns:[{name:`property`,minWidth:12},{name:`value`,wrap:!0}],headers:!1});return{ok:O,refused:!1,lines:z}}export{A as doctorCommand};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./chunk-translator-DNm9zRpP.js";import{a as t,r as n,s as r}from"./chunk-moddle-D3Ym38EZ.js";import{c as i,f as a,g as o,m as s,s as c,y as l}from"./chunk-engine-CxgdJ2wO.js";import{t as u}from"./chunk-list-XuNpvC6j.js";import{a as d,i as f,t as p}from"./chunk-context-rCJvBM9p.js";import{readFileSync as m,statSync as ee}from"node:fs";function h(e){return typeof e==`string`?e.split(/[^A-Za-z0-9]+/).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join(``):``}function g(e){return(e.$type??e.type??``).replace(/^[a-z0-9]+:/i,``)}function _(e){let t=e.replace(/[^A-Za-z0-9_.-]/g,`_`);return/^[A-Za-z_]/.test(t)?t:`_${t}`}function v(e,t,n){if(!n.fromName)return null;let r=h(t);return r?_((typeof n.pattern==`string`&&n.pattern?n.pattern:`{Type}_{Name}`).replace(`{Type}`,()=>g(e)).replace(`{Name}`,()=>r)):null}const y=1e6;function b(e,t){if(!t(e))return e;for(let n=2;n<y;n+=1){let r=`${e}_${n}`;if(!t(r))return r}return`${e}_${y}`}function x(e,t){let n=e?.defaults;if(typeof n!=`object`||!n||!Object.hasOwn(n,t))return{};let r=n[t];return typeof r==`object`&&r?r:{}}const S={task:{type:`bpmn:Task`},"user-task":{type:`bpmn:UserTask`},"service-task":{type:`bpmn:ServiceTask`},"script-task":{type:`bpmn:ScriptTask`},"send-task":{type:`bpmn:SendTask`},"receive-task":{type:`bpmn:ReceiveTask`},"business-rule-task":{type:`bpmn:BusinessRuleTask`},"manual-task":{type:`bpmn:ManualTask`},"call-activity":{type:`bpmn:CallActivity`},"sub-process":{type:`bpmn:SubProcess`},"end-event":{type:`bpmn:EndEvent`},"intermediate-catch-event":{type:`bpmn:IntermediateCatchEvent`},"intermediate-throw-event":{type:`bpmn:IntermediateThrowEvent`},"exclusive-gateway":{type:`bpmn:ExclusiveGateway`},"parallel-gateway":{type:`bpmn:ParallelGateway`},"inclusive-gateway":{type:`bpmn:InclusiveGateway`},"event-based-gateway":{type:`bpmn:EventBasedGateway`}},C={message:`bpmn:MessageEventDefinition`,timer:`bpmn:TimerEventDefinition`,signal:`bpmn:SignalEventDefinition`,error:`bpmn:ErrorEventDefinition`,escalation:`bpmn:EscalationEventDefinition`,conditional:`bpmn:ConditionalEventDefinition`,terminate:`bpmn:TerminateEventDefinition`},w=(e,t,n)=>({kind:t,description:`app.cli.edit.property.${e}`,on:n}),T=[`bpmn:Task`,`bpmn:UserTask`,`bpmn:ServiceTask`,`bpmn:ScriptTask`,`bpmn:SendTask`,`bpmn:ReceiveTask`,`bpmn:BusinessRuleTask`,`bpmn:ManualTask`,`bpmn:CallActivity`,`bpmn:SubProcess`],E=[`bpmn:ServiceTask`,`bpmn:SendTask`,`bpmn:BusinessRuleTask`,`bpmn:ScriptTask`],D={name:w(`name`,`string`),documentation:w(`documentation`,`string`)},O={...D,condition:w(`condition`,`string`,[`bpmn:SequenceFlow`]),class:w(`class`,`string`,E),delegateExpression:w(`delegateExpression`,`string`,E),expression:w(`expression`,`string`,E),resultVariable:w(`resultVariable`,`string`,E),topic:w(`topic`,`string`,E),asyncBefore:w(`asyncBefore`,`boolean`),asyncAfter:w(`asyncAfter`,`boolean`),assignee:w(`assignee`,`string`,[`bpmn:UserTask`]),candidateUsers:w(`candidateUsers`,`string`,[`bpmn:UserTask`]),candidateGroups:w(`candidateGroups`,`string`,[`bpmn:UserTask`]),formKey:w(`formKey`,`string`,[`bpmn:UserTask`,`bpmn:StartEvent`]),calledElement:w(`calledElement`,`string`,[`bpmn:CallActivity`]),decisionRef:w(`decisionRef`,`string`,[`bpmn:BusinessRuleTask`]),inputs:w(`inputs`,`mapping`,T),outputs:w(`outputs`,`mapping`,T)},k={...D,condition:w(`condition`,`string`,[`bpmn:SequenceFlow`]),class:w(`class`,`string`,[`bpmn:ServiceTask`,`bpmn:SendTask`,`bpmn:BusinessRuleTask`]),delegateExpression:w(`delegateExpression`,`string`,[`bpmn:ServiceTask`,`bpmn:SendTask`,`bpmn:BusinessRuleTask`]),expression:w(`expression`,`string`,[`bpmn:ServiceTask`,`bpmn:SendTask`,`bpmn:BusinessRuleTask`]),resultVariable:w(`resultVariable`,`string`,[`bpmn:ServiceTask`,`bpmn:ScriptTask`,`bpmn:BusinessRuleTask`]),async:w(`async`,`boolean`,[`bpmn:Task`,`bpmn:UserTask`,`bpmn:ServiceTask`,`bpmn:ScriptTask`,`bpmn:SendTask`,`bpmn:ReceiveTask`,`bpmn:BusinessRuleTask`,`bpmn:ManualTask`,`bpmn:CallActivity`,`bpmn:SubProcess`]),skipExpression:w(`skipExpression`,`string`,[`bpmn:Task`,`bpmn:UserTask`,`bpmn:ServiceTask`,`bpmn:ScriptTask`,`bpmn:SendTask`,`bpmn:ReceiveTask`,`bpmn:BusinessRuleTask`,`bpmn:ManualTask`]),assignee:w(`assignee`,`string`,[`bpmn:UserTask`]),candidateUsers:w(`candidateUsers`,`string`,[`bpmn:UserTask`]),candidateGroups:w(`candidateGroups`,`string`,[`bpmn:UserTask`]),formKey:w(`formKey`,`string`,[`bpmn:UserTask`,`bpmn:StartEvent`]),calledElement:w(`calledElement`,`string`,[`bpmn:CallActivity`])},A={classic:{...D,condition:w(`conditionSimple`,`string`,[`bpmn:SequenceFlow`])},"camunda-7":O,operaton:O,"cib-seven":O,flowable:k,activiti:k,"camunda-8":{...D,condition:w(`feelCondition`,`string`,[`bpmn:SequenceFlow`]),jobType:w(`jobType`,`string`,E),retries:w(`retries`,`integer`,E),assignee:w(`assignee`,`string`,[`bpmn:UserTask`]),candidateUsers:w(`candidateUsers`,`string`,[`bpmn:UserTask`]),candidateGroups:w(`candidateGroups`,`string`,[`bpmn:UserTask`]),formId:w(`formId`,`string`,[`bpmn:UserTask`]),processId:w(`processId`,`string`,[`bpmn:CallActivity`]),decisionId:w(`decisionId`,`string`,[`bpmn:BusinessRuleTask`]),inputs:w(`inputMappings`,`mapping`,T),outputs:w(`outputMappings`,`mapping`,T)}};var j=class extends Error{};function M(e,t){throw new j(`${e}: ${t}`)}function N(t,n,r){for(let i of Object.keys(t))n.includes(i)||M(r,e(`app.cli.edit.unknownField`,{key:i,allowed:n.join(`, `)}))}function P(t,n,r,i=!0){if(t!==void 0||i)return typeof t==`string`&&t.trim()||M(n,e(`app.cli.edit.mustBeAString`,{field:r})),t}function F(t,n,r){return typeof t==`number`&&Number.isFinite(t)||M(n,e(`app.cli.edit.mustBeANumber`,{field:r})),t}function I(t,n,r){(!t||typeof t!=`object`||Array.isArray(t))&&M(r,e(`app.cli.edit.propertiesMustBeAnObject`));let i=A[n],a={};for(let[o,s]of Object.entries(t)){let t=Object.hasOwn(i,o)?i[o]:void 0;t||M(r,e(`app.cli.edit.notAnEngineProperty`,{key:o,engine:n,allowed:Object.keys(i).join(`, `)})),t.kind===`string`&&typeof s!=`string`&&M(r,e(`app.cli.edit.mustBeAStringShort`,{key:o})),t.kind===`boolean`&&typeof s!=`boolean`&&M(r,e(`app.cli.edit.mustBeABoolean`,{key:o})),t.kind===`integer`&&(typeof s!=`number`||!Number.isInteger(s)||s<0)&&M(r,e(`app.cli.edit.mustBeAWholeNumber`,{key:o})),t.kind===`mapping`&&(!s||typeof s!=`object`||Array.isArray(s)||Object.values(s).some(e=>typeof e!=`string`))&&M(r,e(`app.cli.edit.mustMapNamesToStrings`,{key:o})),a[o]=s}return a}function L(e,t,n){let r=Object.hasOwn(A[e],t)?A[e][t]:void 0;return!!r&&(!r.on||r.on.includes(n))}function R(t,n){let r=Array.isArray(t)?t:[t];if(r.length===0)throw new j(e(`app.cli.edit.noOperations`));return r.map((t,r)=>{let i=e(`app.cli.edit.operationWhere`,{number:r+1});(!t||typeof t!=`object`||Array.isArray(t))&&M(i,e(`app.cli.edit.mustBeAnObject`));let a=t;switch(a.op){case`add`:return N(a,[`op`,`element`,`after`,`event`,`name`,`id`,`properties`],i),typeof a.element==`string`&&Object.hasOwn(S,a.element)||M(i,e(`app.cli.edit.elementMustBeOneOf`,{elements:Object.keys(S).join(`, `)})),a.event===void 0||typeof a.event==`string`&&Object.hasOwn(C,a.event)||M(i,e(`app.cli.edit.eventMustBeOneOf`,{events:Object.keys(C).join(`, `)})),a.event!==void 0&&!String(a.element).endsWith(`-event`)&&M(i,e(`app.cli.edit.eventOnlyForEvents`)),a.id!==void 0&&!/^[A-Za-z_][\w.-]*$/.test(String(a.id))&&M(i,e(`app.cli.edit.idMustBeValid`)),{op:`add`,element:a.element,after:P(a.after,i,`after`),event:a.event,name:P(a.name,i,`name`,!1),id:P(a.id,i,`id`,!1),properties:a.properties===void 0?void 0:I(a.properties,n,i)};case`connect`:return N(a,[`op`,`from`,`to`,`name`,`condition`],i),{op:`connect`,from:P(a.from,i,`from`),to:P(a.to,i,`to`),name:P(a.name,i,`name`,!1),condition:P(a.condition,i,`condition`,!1)};case`set`:return N(a,[`op`,`id`,`properties`],i),{op:`set`,id:P(a.id,i,`id`),properties:I(a.properties,n,i)};case`remove`:return N(a,[`op`,`id`],i),{op:`remove`,id:P(a.id,i,`id`)};case`move`:return N(a,[`op`,`id`,`dx`,`dy`],i),{op:`move`,id:P(a.id,i,`id`),dx:F(a.dx,i,`dx`),dy:F(a.dy,i,`dy`)};default:return M(i,e(`app.cli.edit.opMustBeOneOf`))}})}function te(t){let n=t?A[t]:{...A.classic,...A[`camunda-7`],...A[`camunda-8`]},r={type:`object`,additionalProperties:!1,properties:Object.fromEntries(Object.entries(n).map(([t,n])=>{let r=n.kind===`mapping`?{type:`object`,additionalProperties:{type:`string`}}:{type:n.kind},i=n.on?e(`app.cli.edit.schema.onlyOn`,{types:u(n.on.map(e=>e.replace(`bpmn:`,``)))}):``;return[t,{...r,description:`${e(n.description)}${i}`}]}))};return{$schema:`https://json-schema.org/draft/2020-12/schema`,title:t?e(`app.cli.edit.schema.titleFor`,{engine:t}):e(`app.cli.edit.schema.title`),type:`array`,minItems:1,items:{oneOf:[{type:`object`,additionalProperties:!1,required:[`op`,`element`,`after`],properties:{op:{const:`add`,description:e(`app.cli.edit.schema.add`)},element:{enum:Object.keys(S)},after:{type:`string`,description:e(`app.cli.edit.schema.after`)},event:{enum:Object.keys(C),description:e(`app.cli.edit.schema.event`)},name:{type:`string`},id:{type:`string`,description:e(`app.cli.edit.schema.newId`)},properties:r}},{type:`object`,additionalProperties:!1,required:[`op`,`from`,`to`],properties:{op:{const:`connect`,description:e(`app.cli.edit.schema.connect`)},from:{type:`string`},to:{type:`string`},name:{type:`string`},condition:{type:`string`}}},{type:`object`,additionalProperties:!1,required:[`op`,`id`,`properties`],properties:{op:{const:`set`,description:e(`app.cli.edit.schema.set`)},id:{type:`string`},properties:r}},{type:`object`,additionalProperties:!1,required:[`op`,`id`],properties:{op:{const:`remove`,description:e(`app.cli.edit.schema.remove`)},id:{type:`string`}}},{type:`object`,additionalProperties:!1,required:[`op`,`id`,`dx`,`dy`],properties:{op:{const:`move`,description:e(`app.cli.edit.schema.move`)},id:{type:`string`},dx:{type:`number`},dy:{type:`number`}}}]}}}const ne={"bpmn:EndEvent":[`message`,`signal`,`error`,`escalation`,`terminate`],"bpmn:IntermediateThrowEvent":[`message`,`signal`,`escalation`],"bpmn:IntermediateCatchEvent":[`message`,`timer`,`signal`,`conditional`]},re=[`bpmn:ReceiveTask`,`bpmn:IntermediateCatchEvent`];function ie(t,n){if(n&&(!(ne[t]??[]).includes(n)||!Object.hasOwn(C,n)))throw new j(e(`app.patch.eventNotAllowed`,{type:g({type:t}),event:n}))}function z(t,n,r){if(t.id===n.id)throw new j(e(`app.patch.sameElement`,{id:t.id}));if(t.type===`bpmn:EndEvent`)throw new j(e(`app.cli.edit.afterEndEvent`,{id:t.id}));if(n.type===`bpmn:StartEvent`)throw new j(e(`app.patch.startEventTarget`,{id:n.id}));if(n.type===`bpmn:BoundaryEvent`)throw new j(e(`app.patch.boundaryTarget`,{id:n.id}));if(t.scope!==n.scope)throw new j(e(`app.patch.differentScopes`,{from:t.id,to:n.id}));if(t.type===`bpmn:EventBasedGateway`&&!re.includes(n.type))throw new j(e(`app.patch.eventBasedTarget`,{to:n.id}));if(r(t.id,n.id))throw new j(e(`app.patch.duplicateFlow`,{from:t.id,to:n.id}))}const ae=[0,1,-1,2,-2,3,-3,4,-4];function oe(e){return e.endsWith(`Event`)?{width:36,height:36}:e.endsWith(`Gateway`)?{width:50,height:50}:e===`bpmn:SubProcess`?{width:350,height:200}:{width:100,height:80}}function se(e,t,n=0){return e.x<t.x+t.width+n&&e.x+e.width+n>t.x&&e.y<t.y+t.height+n&&e.y+e.height+n>t.y}function B(e,t,n){if(!t||!/(Event|Gateway)$/.test(e))return;let r=Math.max(n.width,Math.min(t.length*7,120));return{x:Math.round(n.x+n.width/2-r/2),y:n.y+n.height+4,width:r,height:28}}function V(e,t){return t.x>=e.x&&t.y>=e.y&&t.x+t.width<=e.x+e.width&&t.y+t.height<=e.y+e.height}function H(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function U(e,t,n,r,i=50,a){let{width:o,height:s}=oe(t),c=e.y+e.height/2,l=[];for(let t=0;t<6;t+=1)for(let n of ae)l.push({x:Math.round(e.x+e.width+i+t*(o+i)),y:Math.round(c-s/2+n*(s+i*.6)),width:o,height:s});let u=e=>!n.some(t=>se(e,t,12)),d=e=>{let n=B(t,a,e);return u(e)&&(!n||u(n))},f=e=>!r||V(r,e);return l.find(e=>f(e)&&d(e))??l.find(d)??l[0]}function W(e,t){let n=H(e),r=H(t);if(t.x>=e.x+e.width){let i={x:e.x+e.width,y:n.y},a={x:t.x,y:r.y};if(i.y===a.y)return[i,a];let o=Math.round((i.x+a.x)/2);return[i,{x:o,y:i.y},{x:o,y:a.y},a]}let i=Math.max(e.y+e.height,t.y+t.height)+25;return[{x:n.x,y:e.y+e.height},{x:n.x,y:i},{x:r.x,y:i},{x:r.x,y:t.y+t.height}]}const G=[`class`,`delegateExpression`,`expression`,`topic`],ce=[`class`,`delegateExpression`,`expression`];function K(t,n,r,i){for(let t of Object.keys(i))if(!L(n,t,r.type))throw new j(e(`app.cli.edit.doesNotApply`,{key:t,type:g(r),id:r.id}));for(let[e,a]of Object.entries(i))le(t,n,r,e,a)}function le(e,t,n,r,i){let{modeling:a,moddle:c}=e;if(r===`name`)return a.updateProperties(n,{name:i});if(r===`documentation`)return a.updateProperties(n,{documentation:[c.create(`bpmn:Documentation`,{text:i})]});if(r===`condition`)return a.updateProperties(n,{conditionExpression:c.create(`bpmn:FormalExpression`,{body:i})});if(s(t))return ue(e,t,n,r,i);if(o(t))return de(e,t,n,r,i);if(t===`camunda-8`)return fe(e,n,r,i)}function ue(e,t,n,r,i){let{modeling:o,moddle:s}=e,c=a(t);if(G.includes(r)){let e=Object.fromEntries([`class`,`delegateExpression`,`expression`,`topic`,`type`].map(e=>[`${c}:${e}`,void 0])),t=r===`topic`?{[`${c}:type`]:`external`,[`${c}:topic`]:i}:{[`${c}:${r}`]:i};return o.updateProperties(n,{...e,...t})}if(r===`inputs`||r===`outputs`){let t=q(e,n,`${c}:InputOutput`),a=Object.entries(i).map(([e,t])=>s.create(r===`inputs`?`${c}:InputParameter`:`${c}:OutputParameter`,{name:e,value:t}));return o.updateModdleProperties(n,t,{[r===`inputs`?`inputParameters`:`outputParameters`]:a})}return o.updateProperties(n,{[`${c}:${r}`]:i})}function de(e,t,n,r,i){let o=a(t);if(ce.includes(r)){let t=Object.fromEntries([`class`,`delegateExpression`,`expression`,`type`].map(e=>[`${o}:${e}`,void 0]));return e.modeling.updateProperties(n,{...t,[`${o}:${r}`]:i})}return r===`resultVariable`?e.modeling.updateProperties(n,{[`${o}:${n.type===`bpmn:ServiceTask`?`resultVariableName`:`resultVariable`}`]:i}):e.modeling.updateProperties(n,{[`${o}:${r}`]:i})}function fe(e,t,n,r){let{modeling:i,moddle:a}=e,o=(n,r)=>{i.updateModdleProperties(t,q(e,t,n),r)};switch(n){case`jobType`:return o(`zeebe:TaskDefinition`,{type:r});case`retries`:return o(`zeebe:TaskDefinition`,{retries:String(r)});case`assignee`:case`candidateUsers`:case`candidateGroups`:return o(`zeebe:AssignmentDefinition`,{[n]:r});case`formId`:return o(`zeebe:FormDefinition`,{formId:r});case`processId`:return o(`zeebe:CalledElement`,{processId:r});case`decisionId`:return o(`zeebe:CalledDecision`,{decisionId:r});case`inputs`:case`outputs`:{let e=Object.entries(r).map(([e,t])=>a.create(n===`inputs`?`zeebe:Input`:`zeebe:Output`,{target:e,source:t}));return o(`zeebe:IoMapping`,{[n===`inputs`?`inputParameters`:`outputParameters`]:e})}}}function q(e,t,n){let{modeling:r,moddle:i}=e,a=t.businessObject.extensionElements;a||(a=i.create(`bpmn:ExtensionElements`,{values:[]}),r.updateProperties(t,{extensionElements:a}));let o=(a.values??[]).find(e=>e.$type===n);if(o)return o;let s=i.create(n);return s.$parent=a,r.updateModdleProperties(t,a,{values:[...a.values??[],s]}),s}function J(e,t){let n={},r=e.extensionElements?.values??[],i=e=>r.find(t=>t.$type===e),c=(e,t)=>{t!=null&&t!==``&&(n[e]=t)};c(`documentation`,e.documentation?.[0]?.text),c(`condition`,e.conditionExpression?.body);let l=e.eventDefinitions?.[0]?.$type;if(l&&c(`event`,Object.entries(C).find(([,e])=>e===l)?.[0]),s(t)){let n=a(t);for(let t of Object.keys(A[`camunda-7`])){if([`inputs`,`outputs`,`name`,`documentation`,`condition`].includes(t))continue;let r=e.get(`${n}:${t}`);(typeof r!=`boolean`||Object.prototype.hasOwnProperty.call(e,t))&&c(t,r)}let r=i(`${n}:InputOutput`),o=e=>e?.length?Object.fromEntries(e.map(e=>[e.name,String(e.value??``)])):void 0;c(`inputs`,o(r?.inputParameters)),c(`outputs`,o(r?.outputParameters))}if(o(t)){let n=a(t);for(let r of Object.keys(A[t])){if([`name`,`documentation`,`condition`,`resultVariable`].includes(r))continue;let t=e.get(`${n}:${r}`);(typeof t!=`boolean`||Object.prototype.hasOwnProperty.call(e,r))&&c(r,t)}c(`resultVariable`,e.get(`${n}:resultVariableName`)??e.get(`${n}:resultVariable`))}if(t===`camunda-8`){let e=i(`zeebe:TaskDefinition`);c(`jobType`,e?.type),c(`retries`,e?.retries===void 0?void 0:Number(e.retries));let t=i(`zeebe:AssignmentDefinition`);c(`assignee`,t?.assignee),c(`candidateUsers`,t?.candidateUsers),c(`candidateGroups`,t?.candidateGroups),c(`formId`,i(`zeebe:FormDefinition`)?.formId),c(`processId`,i(`zeebe:CalledElement`)?.processId),c(`decisionId`,i(`zeebe:CalledDecision`)?.decisionId);let n=i(`zeebe:IoMapping`),r=e=>e?.length?Object.fromEntries(e.map(e=>[e.target,String(e.source??``)])):void 0;c(`inputs`,r(n?.inputParameters)),c(`outputs`,r(n?.outputParameters))}return n}const Y=`bpmn:SequenceFlow`;function pe(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(36).padStart(7,`0`).slice(-7)}function me(e){return e.endsWith(`Gateway`)?`Gateway`:e.endsWith(`Event`)?`Event`:`Activity`}function he(e){switch(e.op){case`add`:return[e.after];case`connect`:return[e.from,e.to];default:return[e.id]}}function ge(e){let t=/* @__PURE__ */ new Map;return e.map((e,n)=>{let r=/* @__PURE__ */ new Set;for(let n of he(e)){let e=t.get(n);e!==void 0&&r.add(e)}return e.op===`add`&&e.id&&!t.has(e.id)&&t.set(e.id,n),[...r].sort((e,t)=>e-t)})}var X=class{nodes=/* @__PURE__ */ new Map;flows=/* @__PURE__ */ new Map;shapes=/* @__PURE__ */ new Map;edges=/* @__PURE__ */ new Map;pairs=/* @__PURE__ */ new Set;taken=/* @__PURE__ */ new Set;plane;moddle;properties;definitions;engine;conventions;gap;constructor(e,t,r,i=50){this.definitions=e,this.engine=t,this.conventions=r,this.gap=i,this.moddle=n(e),this.plane=e.diagrams?.[0]?.plane,this.properties={moddle:this.moddle,modeling:{updateProperties:(e,t)=>{for(let[n,r]of Object.entries(t))e.businessObject.set(n,r)},updateModdleProperties:(e,t,n)=>{for(let[e,r]of Object.entries(n))t.set(e,r)}}},this.index()}index(){let e=e=>{typeof e==`string`&&this.taken.add(e)},t=/* @__PURE__ */ new Set,n=[this.definitions];for(;n.length>0;){let r=n.pop();if(r&&typeof r==`object`&&!t.has(r)){if(t.add(r),Array.isArray(r))n.push(...r);else{e(r.id);for(let[e,t]of Object.entries(r))!e.startsWith(`$`)&&t&&typeof t==`object`&&n.push(t)}}}for(let e of this.definitions.rootElements??[])if(e.$type===`bpmn:Process`&&this.walk(e),e.$type===`bpmn:Collaboration`){this.nodes.set(e.id,{bo:e,kind:`root`});for(let t of e.participants??[])this.nodes.set(t.id,{bo:t,kind:`container`}),t.processRef&&this.walk(t.processRef)}for(let e of this.plane?.planeElement??[]){let t=e.bpmnElement?.id;t&&(e.$type===`bpmndi:BPMNShape`&&this.shapes.set(t,e),e.$type===`bpmndi:BPMNEdge`&&this.edges.set(t,e))}}walk(e){this.nodes.has(e.id)||this.nodes.set(e.id,{bo:e,kind:`root`});for(let t of e.laneSets?.flatMap(e=>this.lanesOf(e))??[])this.nodes.set(t.id,{bo:t,kind:`container`});for(let t of e.flowElements??[])t.$type===Y?(this.flows.set(t.id,t),this.pairs.add(`${t.sourceRef?.id}>${t.targetRef?.id}`)):t.$instanceOf(`bpmn:FlowNode`)&&(this.nodes.set(t.id,{bo:t,kind:`node`}),t.$instanceOf(`bpmn:SubProcess`)&&this.walk(t))}lanesOf(e){return(e.lanes??[]).flatMap(e=>[e,...e.childLaneSet?this.lanesOf(e.childLaneSet):[]])}has(e){return this.nodes.has(e)||this.flows.has(e)}node(t){let n=this.nodes.get(t);if(!n)throw new j(e(`app.cli.edit.noSuchElement`,{id:t}));return n}freshId(e,t){let n=e===Y?`Flow`:me(e);for(let e=0;;e+=1){let r=`${n}_${pe(e===0?t:`${t}#${e}`)}`;if(!this.taken.has(r))return r}}boundsOf(e){let t=this.shapes.get(e)?.bounds;return t?{x:t.x,y:t.y,width:t.width,height:t.height}:void 0}pointsOf(e){let t=this.edges.get(e)?.waypoint;return t?t.map(e=>({x:e.x,y:e.y})):void 0}snapshot(e){let t=this.flows.get(e),n=t??this.nodes.get(e)?.bo,r=n?.$parent;return{id:e,type:n?.$type??``,...n?.name?{name:n.name}:{},...this.boundsOf(e)?{bounds:this.boundsOf(e)}:{},...t?{waypoints:this.pointsOf(e),source:t.sourceRef?.id,target:t.targetRef?.id}:{},...r?.id&&r.$type!==`bpmn:Definitions`?{parent:r.id}:{},...n?.attachedToRef?.id?{attachedTo:n.attachedToRef.id}:{}}}scopeOf(e){return e.attachedToRef?e.attachedToRef.$parent:e.$parent}shape(e,t){let n=this.moddle.create(`dc:Bounds`,t),r={id:this.uniqueDi(e.id),bpmnElement:e,bounds:n};e.$type===`bpmn:ExclusiveGateway`&&(r.isMarkerVisible=!0),e.$type===`bpmn:SubProcess`&&(r.isExpanded=!0);let i=this.moddle.create(`bpmndi:BPMNShape`,r);this.plane.get(`planeElement`).push(i),i.$parent=this.plane,this.shapes.set(e.id,i)}uniqueDi(e){let t=b(`${e}_di`,e=>this.taken.has(e));return this.taken.add(t),t}edge(e,t){let n=this.moddle.create(`bpmndi:BPMNEdge`,{id:this.uniqueDi(e.id),bpmnElement:e,waypoint:t.map(e=>this.moddle.create(`dc:Point`,e))});this.plane.get(`planeElement`).push(n),n.$parent=this.plane,this.edges.set(e.id,n)}reroute(e){let t=this.flows.get(e),n=this.edges.get(e),r=this.boundsOf(t?.sourceRef?.id),i=this.boundsOf(t?.targetRef?.id);n&&r&&i&&n.set(`waypoint`,W(r,i).map(e=>this.moddle.create(`dc:Point`,e)))}unplane(e){for(let t of[this.shapes,this.edges]){let n=t.get(e);if(!n)continue;let r=this.plane.get(`planeElement`),i=r.indexOf(n);i>=0&&r.splice(i,1),t.delete(e)}}occupiedAround(e,t){let n=[];for(let[r,i]of this.nodes){if(i.kind!==`node`||t.has(r))continue;let a=this.boundsOf(r);if(!a||i.bo.$instanceOf(`bpmn:SubProcess`)&&V(a,e))continue;n.push(a);let o=this.labelOf(r,a,i.bo);o&&n.push(o)}return n}labelOf(e,t,n){let r=this.shapes.get(e)?.label?.bounds;return r?{x:r.x,y:r.y,width:r.width,height:r.height}:B(n.$type,n.name,t)}withinOf(e){if(e.$instanceOf(`bpmn:SubProcess`))return this.boundsOf(e.id);for(let t of this.definitions.rootElements??[]){if(t.$type!==`bpmn:Collaboration`)continue;let n=(t.participants??[]).find(t=>t.processRef===e);if(n)return this.boundsOf(n.id)}}describe(){let e=[];for(let[t,n]of this.nodes){if(n.kind===`root`)continue;let r=this.scopeOf(n.bo)?.id;e.push({id:t,type:g(n.bo),...n.bo.name?{name:n.bo.name}:{},...r?{parent:r}:{},properties:J(n.bo,this.engine)})}for(let[t,n]of this.flows)e.push({id:t,type:g(n),...n.name?{name:n.name}:{},source:n.sourceRef?.id,target:n.targetRef?.id,properties:J(n,this.engine)});return e.sort((e,t)=>e.id<t.id?-1:+(e.id>t.id))}snapshotAll(){return{nodes:[...this.nodes].filter(([,e])=>e.kind===`node`).map(([e])=>this.snapshot(e)),flows:[...this.flows.keys()].map(e=>this.snapshot(e))}}flowTouching(e){return[...this.flows.values()].filter(t=>t.sourceRef?.id===e||t.targetRef?.id===e).map(e=>e.id)}create(t,n,r){if(this.flows.has(t.after))throw new j(e(`app.cli.edit.isAConnection`,{id:t.after}));let i=this.node(t.after);if(i.kind!==`node`)throw new j(e(`app.cli.edit.addAfterAnElementInside`,{id:t.after,type:g(i.bo)}));if(!this.plane)throw new j(e(`app.patch.noDrawing`));let a=S[t.element].type,o=this.scopeOf(i.bo);if(ie(a,t.event),t.id&&this.taken.has(t.id))throw new j(e(`app.cli.edit.idTaken`,{id:t.id}));z({id:i.bo.id,type:i.bo.$type,scope:o},{id:t.id??``,type:a,scope:o},(e,t)=>this.pairs.has(`${e}>${t}`));let s=t.id;if(!s){let e=t.name&&this.conventions.ids?v({$type:a},t.name,this.conventions.ids):null;s=e?b(e,e=>this.taken.has(e)):this.freshId(a,`${n}:${a}:${t.name??``}:${t.after}`)}this.taken.add(s);let c=this.moddle.create(a,{id:s});if(c.$parent=o,t.event){let e=this.moddle.create(C[t.event]);e.$parent=c,c.get(`eventDefinitions`).push(e)}o.get(`flowElements`).push(c),this.nodes.set(s,{bo:c,kind:`node`});for(let e of[...this.nodes.values()].filter(e=>e.kind===`container`&&e.bo.$type===`bpmn:Lane`))(e.bo.flowNodeRef??[]).includes(i.bo)&&e.bo.get(`flowNodeRef`).push(c);let l=this.boundsOf(i.bo.id);if(!l)throw new j(e(`app.patch.noDrawing`));let u=U(l,a,this.occupiedAround(l,/* @__PURE__ */ new Set([s])),this.withinOf(o),this.gap,t.name);this.shape(c,u);let d=x(this.conventions,a);Object.keys(d).length>0&&this.properties.modeling.updateProperties({businessObject:c},d),t.name&&c.set(`name`,t.name),t.properties&&K(this.properties,this.engine,{id:s,type:a,businessObject:c},t.properties);let f=this.link(i.bo,c,`${n}:flow:${i.bo.id}>${s}`);r.added.push(this.snapshot(s)),r.addedFlows.push(this.snapshot(f.id)),r.touched.push(s,f.id),r.summary=e(`app.cli.edit.added`,{type:g(c),id:s,after:i.bo.id})}link(e,t,n){let r=this.freshId(Y,n);this.taken.add(r);let i=this.moddle.create(Y,{id:r,sourceRef:e,targetRef:t}),a=this.scopeOf(e);i.$parent=a,a.get(`flowElements`).push(i),e.get(`outgoing`).push(i),t.get(`incoming`).push(i),this.flows.set(r,i),this.pairs.add(`${e.id}>${t.id}`);let o=this.boundsOf(e.id),s=this.boundsOf(t.id);return o&&s&&this.plane&&this.edge(i,W(o,s)),i}connect(t,n,r){let i=this.node(t.from),a=this.node(t.to);if(i.kind!==`node`)throw new j(e(`app.patch.notAFlowNode`,{id:t.from,type:g(i.bo)}));if(a.kind!==`node`)throw new j(e(`app.patch.notAFlowNode`,{id:t.to,type:g(a.bo)}));z({id:i.bo.id,type:i.bo.$type,scope:this.scopeOf(i.bo)},{id:a.bo.id,type:a.bo.$type,scope:this.scopeOf(a.bo)},(e,t)=>this.pairs.has(`${e}>${t}`));let o=this.link(i.bo,a.bo,`${n}:flow:${t.from}>${t.to}`);t.name&&o.set(`name`,t.name),t.condition&&K(this.properties,this.engine,{id:o.id,type:Y,businessObject:o},{condition:t.condition}),r.addedFlows.push(this.snapshot(o.id)),r.touched.push(o.id),r.summary=e(`app.cli.edit.connect`,{from:t.from,to:t.to,id:o.id})}set(t,n){let r=this.flows.get(t.id)??this.node(t.id).bo;K(this.properties,this.engine,{id:r.id,type:r.$type,businessObject:r},t.properties),n.changed.push({id:r.id,keys:Object.keys(t.properties),bounds:this.boundsOf(r.id)}),n.touched.push(r.id),n.summary=e(`app.cli.edit.set`,{keys:Object.keys(t.properties).join(`, `),id:r.id})}remove(t,n){let r=this.flows.get(t.id);if(r){this.snapshotAndDrop([r.id],n),n.summary=e(`app.cli.edit.removed`,{id:t.id});return}let i=this.node(t.id);if(i.kind===`root`)throw new j(e(`app.cli.edit.isTheRoot`,{id:t.id}));if(i.kind===`container`)throw new j(e(`app.patch.cannotRemoveContainer`,{id:t.id,type:g(i.bo)}));let a=/* @__PURE__ */ new Set([t.id]),o=[i.bo];for(;o.length>0;){let e=o.pop();for(let t of this.nodes.values())t.bo.attachedToRef===e&&!a.has(t.bo.id)&&(a.add(t.bo.id),o.push(t.bo));if(e.$instanceOf(`bpmn:SubProcess`))for(let t of e.flowElements??[])t.$type!==Y&&this.nodes.has(t.id)&&!a.has(t.id)&&(a.add(t.id),o.push(t))}let s=/* @__PURE__ */ new Set;for(let e of a)for(let t of this.flowTouching(e))s.add(t);this.snapshotAndDrop([...s,...a],n),n.summary=e(`app.cli.edit.removed`,{id:t.id})}snapshotAndDrop(e,t){let n=[...new Set(e)];for(let e of n)t.removed.push(this.snapshot(e));for(let e of n){let t=this.flows.get(e);if(t){let n=(e,t)=>{let n=e?.indexOf(t)??-1;n>=0&&e.splice(n,1)};n(t.sourceRef?.outgoing,t),n(t.targetRef?.incoming,t),n(t.$parent?.flowElements,t),t.sourceRef?.default===t&&t.sourceRef.set(`default`,void 0),this.flows.delete(e),this.pairs.delete(`${t.sourceRef?.id}>${t.targetRef?.id}`),this.unplane(e);continue}let n=this.nodes.get(e);if(!n)continue;let r=n.bo.$parent?.flowElements,i=r?.indexOf(n.bo)??-1;i>=0&&r.splice(i,1);for(let e of this.nodes.values()){let t=e.bo.flowNodeRef,r=t?.indexOf(n.bo)??-1;r>=0&&t.splice(r,1)}this.nodes.delete(e),this.unplane(e)}t.touched.push(...n)}move(t,n){if(this.flows.has(t.id))throw new j(e(`app.patch.isAFlow`,{id:t.id}));let r=this.node(t.id);if(r.kind!==`node`)throw new j(e(`app.patch.notAFlowNode`,{id:t.id,type:g(r.bo)}));if(!this.shapes.has(t.id))throw new j(e(`app.patch.noDrawing`));let i=/* @__PURE__ */ new Set([t.id]);for(let e of this.nodes.values())e.bo.attachedToRef===r.bo&&i.add(e.bo.id);if(r.bo.$instanceOf(`bpmn:SubProcess`)){let e=t=>{for(let n of t.flowElements??[])n.$type!==Y&&(i.add(n.id),n.$instanceOf(`bpmn:SubProcess`)&&e(n))};e(r.bo)}for(let e of i){let r=this.shapes.get(e)?.bounds;if(!r)continue;let i=this.boundsOf(e);r.set(`x`,i.x+t.dx),r.set(`y`,i.y+t.dy),n.moved.push({id:e,from:i,to:this.boundsOf(e)}),n.touched.push(e)}for(let e of this.flows.values()){let n=i.has(e.sourceRef?.id),r=i.has(e.targetRef?.id);if(n||r){if(n&&r){let n=this.edges.get(e.id);for(let e of n?.waypoint??[])e.set(`x`,e.x+t.dx),e.set(`y`,e.y+t.dy)}else this.reroute(e.id)}}n.summary=e(`app.cli.edit.moved`,{id:t.id,dx:t.dx,dy:t.dy})}};function _e(e,t){return{index:e,operation:t,summary:``,added:[],addedFlows:[],removed:[],changed:[],moved:[],touched:[]}}function ve(t,n){let r=ge(n),i=[];return n.forEach((n,a)=>{let o=_e(a,n);i.push(o);let s=r[a].find(e=>i[e].error);if(s!==void 0)o.skipped=!0,o.error=e(`app.patch.dependsOnFailed`,{number:s+1});else try{switch(n.op){case`add`:t.create(n,a,o);break;case`connect`:t.connect(n,a,o);break;case`set`:t.set(n,o);break;case`remove`:t.remove(n,o);break;case`move`:t.move(n,o)}}catch(e){if(!(e instanceof j))throw e;o.error=e.message}}),i}async function ye(e,n,i){if(n.operations.length===0)return{ok:!0,xml:e,steps:[]};let a=await t(e,l(i.engine));if(!a)return{ok:!1,steps:[],failedAt:-1};let o=ve(new X(a,i.engine,i.conventions??{},i.gap),n.operations),s=o.find(e=>e.error);return s?{ok:!1,steps:o,failedAt:s.index}:{ok:!0,xml:await r(a),steps:o}}const Z=8388608;function Q(e,t){return i(d(p(e).values.engine))??c(t)??`classic`}function $(e){return f(p(e).values.conventions)}async function be(t,n){let r;try{if(ee(t).size>Z)return{ok:!1,message:e(`app.agent.reason.fileTooLarge`,{limit:Z/1048576})};r=m(t,`utf8`)}catch{return{ok:!1,message:e(`app.agent.reason.noSuchFile`)}}let i=Q(t,r),a;try{a=R(n,i)}catch(e){return{ok:!1,message:e instanceof Error?e.message:String(e)}}let o=await ye(r,{operations:a},{engine:i,conventions:$(t)});if(!o.ok||o.xml===void 0){let t=o.failedAt!==void 0&&o.failedAt>=0?o.steps[o.failedAt]:void 0;return{ok:!1,message:e(`app.cli.edit.operationFailed`,{number:(t?.index??0)+1,message:t?.error??e(`app.cli.edit.didNotReadBack`)})}}return{ok:!0,before:r,after:o.xml,applied:o.steps.map(e=>e.summary)}}export{K as a,C as c,R as d,x as f,b as h,J as i,A as l,g as m,Q as n,j as o,v as p,be as r,S as s,$ as t,te as u};
|
|
1
|
+
import{c as e,f as t,g as n,m as r,s as i,y as a}from"./chunk-engine-CxgdJ2wO.js";import{r as o}from"./chunk-translator-DNm9zRpP.js";import{a as s,r as c,s as l}from"./chunk-moddle-D3Ym38EZ.js";import{t as u}from"./chunk-list-XuNpvC6j.js";import{a as d,i as f,t as p}from"./chunk-context-rCJvBM9p.js";import{readFileSync as m,statSync as ee}from"node:fs";function h(e){return typeof e==`string`?e.split(/[^A-Za-z0-9]+/).filter(Boolean).map(e=>e[0].toUpperCase()+e.slice(1)).join(``):``}function g(e){return(e.$type??e.type??``).replace(/^[a-z0-9]+:/i,``)}function _(e){let t=e.replace(/[^A-Za-z0-9_.-]/g,`_`);return/^[A-Za-z_]/.test(t)?t:`_${t}`}function v(e,t,n){if(!n.fromName)return null;let r=h(t);return r?_((typeof n.pattern==`string`&&n.pattern?n.pattern:`{Type}_{Name}`).replace(`{Type}`,()=>g(e)).replace(`{Name}`,()=>r)):null}const y=1e6;function b(e,t){if(!t(e))return e;for(let n=2;n<y;n+=1){let r=`${e}_${n}`;if(!t(r))return r}return`${e}_${y}`}function x(e,t){let n=e?.defaults;if(typeof n!=`object`||!n||!Object.hasOwn(n,t))return{};let r=n[t];return typeof r==`object`&&r?r:{}}const S={task:{type:`bpmn:Task`},"user-task":{type:`bpmn:UserTask`},"service-task":{type:`bpmn:ServiceTask`},"script-task":{type:`bpmn:ScriptTask`},"send-task":{type:`bpmn:SendTask`},"receive-task":{type:`bpmn:ReceiveTask`},"business-rule-task":{type:`bpmn:BusinessRuleTask`},"manual-task":{type:`bpmn:ManualTask`},"call-activity":{type:`bpmn:CallActivity`},"sub-process":{type:`bpmn:SubProcess`},"end-event":{type:`bpmn:EndEvent`},"intermediate-catch-event":{type:`bpmn:IntermediateCatchEvent`},"intermediate-throw-event":{type:`bpmn:IntermediateThrowEvent`},"exclusive-gateway":{type:`bpmn:ExclusiveGateway`},"parallel-gateway":{type:`bpmn:ParallelGateway`},"inclusive-gateway":{type:`bpmn:InclusiveGateway`},"event-based-gateway":{type:`bpmn:EventBasedGateway`}},C={message:`bpmn:MessageEventDefinition`,timer:`bpmn:TimerEventDefinition`,signal:`bpmn:SignalEventDefinition`,error:`bpmn:ErrorEventDefinition`,escalation:`bpmn:EscalationEventDefinition`,conditional:`bpmn:ConditionalEventDefinition`,terminate:`bpmn:TerminateEventDefinition`},w=(e,t,n)=>({kind:t,description:`app.cli.edit.property.${e}`,on:n}),T=[`bpmn:Task`,`bpmn:UserTask`,`bpmn:ServiceTask`,`bpmn:ScriptTask`,`bpmn:SendTask`,`bpmn:ReceiveTask`,`bpmn:BusinessRuleTask`,`bpmn:ManualTask`,`bpmn:CallActivity`,`bpmn:SubProcess`],E=[`bpmn:ServiceTask`,`bpmn:SendTask`,`bpmn:BusinessRuleTask`,`bpmn:ScriptTask`],D={name:w(`name`,`string`),documentation:w(`documentation`,`string`)},O={...D,condition:w(`condition`,`string`,[`bpmn:SequenceFlow`]),class:w(`class`,`string`,E),delegateExpression:w(`delegateExpression`,`string`,E),expression:w(`expression`,`string`,E),resultVariable:w(`resultVariable`,`string`,E),topic:w(`topic`,`string`,E),asyncBefore:w(`asyncBefore`,`boolean`),asyncAfter:w(`asyncAfter`,`boolean`),assignee:w(`assignee`,`string`,[`bpmn:UserTask`]),candidateUsers:w(`candidateUsers`,`string`,[`bpmn:UserTask`]),candidateGroups:w(`candidateGroups`,`string`,[`bpmn:UserTask`]),formKey:w(`formKey`,`string`,[`bpmn:UserTask`,`bpmn:StartEvent`]),calledElement:w(`calledElement`,`string`,[`bpmn:CallActivity`]),decisionRef:w(`decisionRef`,`string`,[`bpmn:BusinessRuleTask`]),inputs:w(`inputs`,`mapping`,T),outputs:w(`outputs`,`mapping`,T)},k={...D,condition:w(`condition`,`string`,[`bpmn:SequenceFlow`]),class:w(`class`,`string`,[`bpmn:ServiceTask`,`bpmn:SendTask`,`bpmn:BusinessRuleTask`]),delegateExpression:w(`delegateExpression`,`string`,[`bpmn:ServiceTask`,`bpmn:SendTask`,`bpmn:BusinessRuleTask`]),expression:w(`expression`,`string`,[`bpmn:ServiceTask`,`bpmn:SendTask`,`bpmn:BusinessRuleTask`]),resultVariable:w(`resultVariable`,`string`,[`bpmn:ServiceTask`,`bpmn:ScriptTask`,`bpmn:BusinessRuleTask`]),async:w(`async`,`boolean`,[`bpmn:Task`,`bpmn:UserTask`,`bpmn:ServiceTask`,`bpmn:ScriptTask`,`bpmn:SendTask`,`bpmn:ReceiveTask`,`bpmn:BusinessRuleTask`,`bpmn:ManualTask`,`bpmn:CallActivity`,`bpmn:SubProcess`]),skipExpression:w(`skipExpression`,`string`,[`bpmn:Task`,`bpmn:UserTask`,`bpmn:ServiceTask`,`bpmn:ScriptTask`,`bpmn:SendTask`,`bpmn:ReceiveTask`,`bpmn:BusinessRuleTask`,`bpmn:ManualTask`]),assignee:w(`assignee`,`string`,[`bpmn:UserTask`]),candidateUsers:w(`candidateUsers`,`string`,[`bpmn:UserTask`]),candidateGroups:w(`candidateGroups`,`string`,[`bpmn:UserTask`]),formKey:w(`formKey`,`string`,[`bpmn:UserTask`,`bpmn:StartEvent`]),calledElement:w(`calledElement`,`string`,[`bpmn:CallActivity`])},A={classic:{...D,condition:w(`conditionSimple`,`string`,[`bpmn:SequenceFlow`])},"camunda-7":O,operaton:O,"cib-seven":O,flowable:k,activiti:k,"camunda-8":{...D,condition:w(`feelCondition`,`string`,[`bpmn:SequenceFlow`]),jobType:w(`jobType`,`string`,E),retries:w(`retries`,`integer`,E),assignee:w(`assignee`,`string`,[`bpmn:UserTask`]),candidateUsers:w(`candidateUsers`,`string`,[`bpmn:UserTask`]),candidateGroups:w(`candidateGroups`,`string`,[`bpmn:UserTask`]),formId:w(`formId`,`string`,[`bpmn:UserTask`]),processId:w(`processId`,`string`,[`bpmn:CallActivity`]),decisionId:w(`decisionId`,`string`,[`bpmn:BusinessRuleTask`]),inputs:w(`inputMappings`,`mapping`,T),outputs:w(`outputMappings`,`mapping`,T)}};var j=class extends Error{};function M(e,t){throw new j(`${e}: ${t}`)}function N(e,t,n){for(let r of Object.keys(e))t.includes(r)||M(n,o(`app.cli.edit.unknownField`,{key:r,allowed:t.join(`, `)}))}function P(e,t,n,r=!0){if(e!==void 0||r)return typeof e==`string`&&e.trim()||M(t,o(`app.cli.edit.mustBeAString`,{field:n})),e}function F(e,t,n){return typeof e==`number`&&Number.isFinite(e)||M(t,o(`app.cli.edit.mustBeANumber`,{field:n})),e}function I(e,t,n){(!e||typeof e!=`object`||Array.isArray(e))&&M(n,o(`app.cli.edit.propertiesMustBeAnObject`));let r=A[t],i={};for(let[a,s]of Object.entries(e)){let e=Object.hasOwn(r,a)?r[a]:void 0;e||M(n,o(`app.cli.edit.notAnEngineProperty`,{key:a,engine:t,allowed:Object.keys(r).join(`, `)})),e.kind===`string`&&typeof s!=`string`&&M(n,o(`app.cli.edit.mustBeAStringShort`,{key:a})),e.kind===`boolean`&&typeof s!=`boolean`&&M(n,o(`app.cli.edit.mustBeABoolean`,{key:a})),e.kind===`integer`&&(typeof s!=`number`||!Number.isInteger(s)||s<0)&&M(n,o(`app.cli.edit.mustBeAWholeNumber`,{key:a})),e.kind===`mapping`&&(!s||typeof s!=`object`||Array.isArray(s)||Object.values(s).some(e=>typeof e!=`string`))&&M(n,o(`app.cli.edit.mustMapNamesToStrings`,{key:a})),i[a]=s}return i}function L(e,t,n){let r=Object.hasOwn(A[e],t)?A[e][t]:void 0;return!!r&&(!r.on||r.on.includes(n))}function R(e,t){let n=Array.isArray(e)?e:[e];if(n.length===0)throw new j(o(`app.cli.edit.noOperations`));return n.map((e,n)=>{let r=o(`app.cli.edit.operationWhere`,{number:n+1});(!e||typeof e!=`object`||Array.isArray(e))&&M(r,o(`app.cli.edit.mustBeAnObject`));let i=e;switch(i.op){case`add`:return N(i,[`op`,`element`,`after`,`event`,`name`,`id`,`properties`],r),typeof i.element==`string`&&Object.hasOwn(S,i.element)||M(r,o(`app.cli.edit.elementMustBeOneOf`,{elements:Object.keys(S).join(`, `)})),i.event===void 0||typeof i.event==`string`&&Object.hasOwn(C,i.event)||M(r,o(`app.cli.edit.eventMustBeOneOf`,{events:Object.keys(C).join(`, `)})),i.event!==void 0&&!String(i.element).endsWith(`-event`)&&M(r,o(`app.cli.edit.eventOnlyForEvents`)),i.id!==void 0&&!/^[A-Za-z_][\w.-]*$/.test(String(i.id))&&M(r,o(`app.cli.edit.idMustBeValid`)),{op:`add`,element:i.element,after:P(i.after,r,`after`),event:i.event,name:P(i.name,r,`name`,!1),id:P(i.id,r,`id`,!1),properties:i.properties===void 0?void 0:I(i.properties,t,r)};case`connect`:return N(i,[`op`,`from`,`to`,`name`,`condition`],r),{op:`connect`,from:P(i.from,r,`from`),to:P(i.to,r,`to`),name:P(i.name,r,`name`,!1),condition:P(i.condition,r,`condition`,!1)};case`set`:return N(i,[`op`,`id`,`properties`],r),{op:`set`,id:P(i.id,r,`id`),properties:I(i.properties,t,r)};case`remove`:return N(i,[`op`,`id`],r),{op:`remove`,id:P(i.id,r,`id`)};case`move`:return N(i,[`op`,`id`,`dx`,`dy`],r),{op:`move`,id:P(i.id,r,`id`),dx:F(i.dx,r,`dx`),dy:F(i.dy,r,`dy`)};default:return M(r,o(`app.cli.edit.opMustBeOneOf`))}})}function te(e){let t=e?A[e]:{...A.classic,...A[`camunda-7`],...A[`camunda-8`]},n={type:`object`,additionalProperties:!1,properties:Object.fromEntries(Object.entries(t).map(([e,t])=>{let n=t.kind===`mapping`?{type:`object`,additionalProperties:{type:`string`}}:{type:t.kind},r=t.on?o(`app.cli.edit.schema.onlyOn`,{types:u(t.on.map(e=>e.replace(`bpmn:`,``)))}):``;return[e,{...n,description:`${o(t.description)}${r}`}]}))};return{$schema:`https://json-schema.org/draft/2020-12/schema`,title:e?o(`app.cli.edit.schema.titleFor`,{engine:e}):o(`app.cli.edit.schema.title`),type:`array`,minItems:1,items:{oneOf:[{type:`object`,additionalProperties:!1,required:[`op`,`element`,`after`],properties:{op:{const:`add`,description:o(`app.cli.edit.schema.add`)},element:{enum:Object.keys(S)},after:{type:`string`,description:o(`app.cli.edit.schema.after`)},event:{enum:Object.keys(C),description:o(`app.cli.edit.schema.event`)},name:{type:`string`},id:{type:`string`,description:o(`app.cli.edit.schema.newId`)},properties:n}},{type:`object`,additionalProperties:!1,required:[`op`,`from`,`to`],properties:{op:{const:`connect`,description:o(`app.cli.edit.schema.connect`)},from:{type:`string`},to:{type:`string`},name:{type:`string`},condition:{type:`string`}}},{type:`object`,additionalProperties:!1,required:[`op`,`id`,`properties`],properties:{op:{const:`set`,description:o(`app.cli.edit.schema.set`)},id:{type:`string`},properties:n}},{type:`object`,additionalProperties:!1,required:[`op`,`id`],properties:{op:{const:`remove`,description:o(`app.cli.edit.schema.remove`)},id:{type:`string`}}},{type:`object`,additionalProperties:!1,required:[`op`,`id`,`dx`,`dy`],properties:{op:{const:`move`,description:o(`app.cli.edit.schema.move`)},id:{type:`string`},dx:{type:`number`},dy:{type:`number`}}}]}}}const ne={"bpmn:EndEvent":[`message`,`signal`,`error`,`escalation`,`terminate`],"bpmn:IntermediateThrowEvent":[`message`,`signal`,`escalation`],"bpmn:IntermediateCatchEvent":[`message`,`timer`,`signal`,`conditional`]},re=[`bpmn:ReceiveTask`,`bpmn:IntermediateCatchEvent`];function ie(e,t){if(t&&(!(ne[e]??[]).includes(t)||!Object.hasOwn(C,t)))throw new j(o(`app.patch.eventNotAllowed`,{type:g({type:e}),event:t}))}function z(e,t,n){if(e.id===t.id)throw new j(o(`app.patch.sameElement`,{id:e.id}));if(e.type===`bpmn:EndEvent`)throw new j(o(`app.cli.edit.afterEndEvent`,{id:e.id}));if(t.type===`bpmn:StartEvent`)throw new j(o(`app.patch.startEventTarget`,{id:t.id}));if(t.type===`bpmn:BoundaryEvent`)throw new j(o(`app.patch.boundaryTarget`,{id:t.id}));if(e.scope!==t.scope)throw new j(o(`app.patch.differentScopes`,{from:e.id,to:t.id}));if(e.type===`bpmn:EventBasedGateway`&&!re.includes(t.type))throw new j(o(`app.patch.eventBasedTarget`,{to:t.id}));if(n(e.id,t.id))throw new j(o(`app.patch.duplicateFlow`,{from:e.id,to:t.id}))}const ae=[0,1,-1,2,-2,3,-3,4,-4];function oe(e){return e.endsWith(`Event`)?{width:36,height:36}:e.endsWith(`Gateway`)?{width:50,height:50}:e===`bpmn:SubProcess`?{width:350,height:200}:{width:100,height:80}}function se(e,t,n=0){return e.x<t.x+t.width+n&&e.x+e.width+n>t.x&&e.y<t.y+t.height+n&&e.y+e.height+n>t.y}function B(e,t,n){if(!t||!/(Event|Gateway)$/.test(e))return;let r=Math.max(n.width,Math.min(t.length*7,120));return{x:Math.round(n.x+n.width/2-r/2),y:n.y+n.height+4,width:r,height:28}}function V(e,t){return t.x>=e.x&&t.y>=e.y&&t.x+t.width<=e.x+e.width&&t.y+t.height<=e.y+e.height}function H(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}function U(e,t,n,r,i=50,a){let{width:o,height:s}=oe(t),c=e.y+e.height/2,l=[];for(let t=0;t<6;t+=1)for(let n of ae)l.push({x:Math.round(e.x+e.width+i+t*(o+i)),y:Math.round(c-s/2+n*(s+i*.6)),width:o,height:s});let u=e=>!n.some(t=>se(e,t,12)),d=e=>{let n=B(t,a,e);return u(e)&&(!n||u(n))},f=e=>!r||V(r,e);return l.find(e=>f(e)&&d(e))??l.find(d)??l[0]}function W(e,t){let n=H(e),r=H(t);if(t.x>=e.x+e.width){let i={x:e.x+e.width,y:n.y},a={x:t.x,y:r.y};if(i.y===a.y)return[i,a];let o=Math.round((i.x+a.x)/2);return[i,{x:o,y:i.y},{x:o,y:a.y},a]}let i=Math.max(e.y+e.height,t.y+t.height)+25;return[{x:n.x,y:e.y+e.height},{x:n.x,y:i},{x:r.x,y:i},{x:r.x,y:t.y+t.height}]}const G=[`class`,`delegateExpression`,`expression`,`topic`],ce=[`class`,`delegateExpression`,`expression`];function K(e,t,n,r){for(let e of Object.keys(r))if(!L(t,e,n.type))throw new j(o(`app.cli.edit.doesNotApply`,{key:e,type:g(n),id:n.id}));for(let[i,a]of Object.entries(r))le(e,t,n,i,a)}function le(e,t,i,a,o){let{modeling:s,moddle:c}=e;if(a===`name`)return s.updateProperties(i,{name:o});if(a===`documentation`)return s.updateProperties(i,{documentation:[c.create(`bpmn:Documentation`,{text:o})]});if(a===`condition`)return s.updateProperties(i,{conditionExpression:c.create(`bpmn:FormalExpression`,{body:o})});if(r(t))return ue(e,t,i,a,o);if(n(t))return de(e,t,i,a,o);if(t===`camunda-8`)return fe(e,i,a,o)}function ue(e,n,r,i,a){let{modeling:o,moddle:s}=e,c=t(n);if(G.includes(i)){let e=Object.fromEntries([`class`,`delegateExpression`,`expression`,`topic`,`type`].map(e=>[`${c}:${e}`,void 0])),t=i===`topic`?{[`${c}:type`]:`external`,[`${c}:topic`]:a}:{[`${c}:${i}`]:a};return o.updateProperties(r,{...e,...t})}if(i===`inputs`||i===`outputs`){let t=q(e,r,`${c}:InputOutput`),n=Object.entries(a).map(([e,t])=>s.create(i===`inputs`?`${c}:InputParameter`:`${c}:OutputParameter`,{name:e,value:t}));return o.updateModdleProperties(r,t,{[i===`inputs`?`inputParameters`:`outputParameters`]:n})}return o.updateProperties(r,{[`${c}:${i}`]:a})}function de(e,n,r,i,a){let o=t(n);if(ce.includes(i)){let t=Object.fromEntries([`class`,`delegateExpression`,`expression`,`type`].map(e=>[`${o}:${e}`,void 0]));return e.modeling.updateProperties(r,{...t,[`${o}:${i}`]:a})}return i===`resultVariable`?e.modeling.updateProperties(r,{[`${o}:${r.type===`bpmn:ServiceTask`?`resultVariableName`:`resultVariable`}`]:a}):e.modeling.updateProperties(r,{[`${o}:${i}`]:a})}function fe(e,t,n,r){let{modeling:i,moddle:a}=e,o=(n,r)=>{i.updateModdleProperties(t,q(e,t,n),r)};switch(n){case`jobType`:return o(`zeebe:TaskDefinition`,{type:r});case`retries`:return o(`zeebe:TaskDefinition`,{retries:String(r)});case`assignee`:case`candidateUsers`:case`candidateGroups`:return o(`zeebe:AssignmentDefinition`,{[n]:r});case`formId`:return o(`zeebe:FormDefinition`,{formId:r});case`processId`:return o(`zeebe:CalledElement`,{processId:r});case`decisionId`:return o(`zeebe:CalledDecision`,{decisionId:r});case`inputs`:case`outputs`:{let e=Object.entries(r).map(([e,t])=>a.create(n===`inputs`?`zeebe:Input`:`zeebe:Output`,{target:e,source:t}));return o(`zeebe:IoMapping`,{[n===`inputs`?`inputParameters`:`outputParameters`]:e})}}}function q(e,t,n){let{modeling:r,moddle:i}=e,a=t.businessObject.extensionElements;a||(a=i.create(`bpmn:ExtensionElements`,{values:[]}),r.updateProperties(t,{extensionElements:a}));let o=(a.values??[]).find(e=>e.$type===n);if(o)return o;let s=i.create(n);return s.$parent=a,r.updateModdleProperties(t,a,{values:[...a.values??[],s]}),s}function J(e,i){let a={},o=e.extensionElements?.values??[],s=e=>o.find(t=>t.$type===e),c=(e,t)=>{t!=null&&t!==``&&(a[e]=t)};c(`documentation`,e.documentation?.[0]?.text),c(`condition`,e.conditionExpression?.body);let l=e.eventDefinitions?.[0]?.$type;if(l&&c(`event`,Object.entries(C).find(([,e])=>e===l)?.[0]),r(i)){let n=t(i);for(let t of Object.keys(A[`camunda-7`])){if([`inputs`,`outputs`,`name`,`documentation`,`condition`].includes(t))continue;let r=e.get(`${n}:${t}`);(typeof r!=`boolean`||Object.prototype.hasOwnProperty.call(e,t))&&c(t,r)}let r=s(`${n}:InputOutput`),a=e=>e?.length?Object.fromEntries(e.map(e=>[e.name,String(e.value??``)])):void 0;c(`inputs`,a(r?.inputParameters)),c(`outputs`,a(r?.outputParameters))}if(n(i)){let n=t(i);for(let t of Object.keys(A[i])){if([`name`,`documentation`,`condition`,`resultVariable`].includes(t))continue;let r=e.get(`${n}:${t}`);(typeof r!=`boolean`||Object.prototype.hasOwnProperty.call(e,t))&&c(t,r)}c(`resultVariable`,e.get(`${n}:resultVariableName`)??e.get(`${n}:resultVariable`))}if(i===`camunda-8`){let e=s(`zeebe:TaskDefinition`);c(`jobType`,e?.type),c(`retries`,e?.retries===void 0?void 0:Number(e.retries));let t=s(`zeebe:AssignmentDefinition`);c(`assignee`,t?.assignee),c(`candidateUsers`,t?.candidateUsers),c(`candidateGroups`,t?.candidateGroups),c(`formId`,s(`zeebe:FormDefinition`)?.formId),c(`processId`,s(`zeebe:CalledElement`)?.processId),c(`decisionId`,s(`zeebe:CalledDecision`)?.decisionId);let n=s(`zeebe:IoMapping`),r=e=>e?.length?Object.fromEntries(e.map(e=>[e.target,String(e.source??``)])):void 0;c(`inputs`,r(n?.inputParameters)),c(`outputs`,r(n?.outputParameters))}return a}const Y=`bpmn:SequenceFlow`;function pe(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t.toString(36).padStart(7,`0`).slice(-7)}function me(e){return e.endsWith(`Gateway`)?`Gateway`:e.endsWith(`Event`)?`Event`:`Activity`}function he(e){switch(e.op){case`add`:return[e.after];case`connect`:return[e.from,e.to];default:return[e.id]}}function ge(e){let t=/* @__PURE__ */ new Map;return e.map((e,n)=>{let r=/* @__PURE__ */ new Set;for(let n of he(e)){let e=t.get(n);e!==void 0&&r.add(e)}return e.op===`add`&&e.id&&!t.has(e.id)&&t.set(e.id,n),[...r].sort((e,t)=>e-t)})}var X=class{nodes=/* @__PURE__ */ new Map;flows=/* @__PURE__ */ new Map;shapes=/* @__PURE__ */ new Map;edges=/* @__PURE__ */ new Map;pairs=/* @__PURE__ */ new Set;taken=/* @__PURE__ */ new Set;plane;moddle;properties;definitions;engine;conventions;gap;constructor(e,t,n,r=50){this.definitions=e,this.engine=t,this.conventions=n,this.gap=r,this.moddle=c(e),this.plane=e.diagrams?.[0]?.plane,this.properties={moddle:this.moddle,modeling:{updateProperties:(e,t)=>{for(let[n,r]of Object.entries(t))e.businessObject.set(n,r)},updateModdleProperties:(e,t,n)=>{for(let[e,r]of Object.entries(n))t.set(e,r)}}},this.index()}index(){let e=e=>{typeof e==`string`&&this.taken.add(e)},t=/* @__PURE__ */ new Set,n=[this.definitions];for(;n.length>0;){let r=n.pop();if(r&&typeof r==`object`&&!t.has(r)){if(t.add(r),Array.isArray(r))n.push(...r);else{e(r.id);for(let[e,t]of Object.entries(r))!e.startsWith(`$`)&&t&&typeof t==`object`&&n.push(t)}}}for(let e of this.definitions.rootElements??[])if(e.$type===`bpmn:Process`&&this.walk(e),e.$type===`bpmn:Collaboration`){this.nodes.set(e.id,{bo:e,kind:`root`});for(let t of e.participants??[])this.nodes.set(t.id,{bo:t,kind:`container`}),t.processRef&&this.walk(t.processRef)}for(let e of this.plane?.planeElement??[]){let t=e.bpmnElement?.id;t&&(e.$type===`bpmndi:BPMNShape`&&this.shapes.set(t,e),e.$type===`bpmndi:BPMNEdge`&&this.edges.set(t,e))}}walk(e){this.nodes.has(e.id)||this.nodes.set(e.id,{bo:e,kind:`root`});for(let t of e.laneSets?.flatMap(e=>this.lanesOf(e))??[])this.nodes.set(t.id,{bo:t,kind:`container`});for(let t of e.flowElements??[])t.$type===Y?(this.flows.set(t.id,t),this.pairs.add(`${t.sourceRef?.id}>${t.targetRef?.id}`)):t.$instanceOf(`bpmn:FlowNode`)&&(this.nodes.set(t.id,{bo:t,kind:`node`}),t.$instanceOf(`bpmn:SubProcess`)&&this.walk(t))}lanesOf(e){return(e.lanes??[]).flatMap(e=>[e,...e.childLaneSet?this.lanesOf(e.childLaneSet):[]])}has(e){return this.nodes.has(e)||this.flows.has(e)}node(e){let t=this.nodes.get(e);if(!t)throw new j(o(`app.cli.edit.noSuchElement`,{id:e}));return t}freshId(e,t){let n=e===Y?`Flow`:me(e);for(let e=0;;e+=1){let r=`${n}_${pe(e===0?t:`${t}#${e}`)}`;if(!this.taken.has(r))return r}}boundsOf(e){let t=this.shapes.get(e)?.bounds;return t?{x:t.x,y:t.y,width:t.width,height:t.height}:void 0}pointsOf(e){let t=this.edges.get(e)?.waypoint;return t?t.map(e=>({x:e.x,y:e.y})):void 0}snapshot(e){let t=this.flows.get(e),n=t??this.nodes.get(e)?.bo,r=n?.$parent;return{id:e,type:n?.$type??``,...n?.name?{name:n.name}:{},...this.boundsOf(e)?{bounds:this.boundsOf(e)}:{},...t?{waypoints:this.pointsOf(e),source:t.sourceRef?.id,target:t.targetRef?.id}:{},...r?.id&&r.$type!==`bpmn:Definitions`?{parent:r.id}:{},...n?.attachedToRef?.id?{attachedTo:n.attachedToRef.id}:{}}}scopeOf(e){return e.attachedToRef?e.attachedToRef.$parent:e.$parent}shape(e,t){let n=this.moddle.create(`dc:Bounds`,t),r={id:this.uniqueDi(e.id),bpmnElement:e,bounds:n};e.$type===`bpmn:ExclusiveGateway`&&(r.isMarkerVisible=!0),e.$type===`bpmn:SubProcess`&&(r.isExpanded=!0);let i=this.moddle.create(`bpmndi:BPMNShape`,r);this.plane.get(`planeElement`).push(i),i.$parent=this.plane,this.shapes.set(e.id,i)}uniqueDi(e){let t=b(`${e}_di`,e=>this.taken.has(e));return this.taken.add(t),t}edge(e,t){let n=this.moddle.create(`bpmndi:BPMNEdge`,{id:this.uniqueDi(e.id),bpmnElement:e,waypoint:t.map(e=>this.moddle.create(`dc:Point`,e))});this.plane.get(`planeElement`).push(n),n.$parent=this.plane,this.edges.set(e.id,n)}reroute(e){let t=this.flows.get(e),n=this.edges.get(e),r=this.boundsOf(t?.sourceRef?.id),i=this.boundsOf(t?.targetRef?.id);n&&r&&i&&n.set(`waypoint`,W(r,i).map(e=>this.moddle.create(`dc:Point`,e)))}unplane(e){for(let t of[this.shapes,this.edges]){let n=t.get(e);if(!n)continue;let r=this.plane.get(`planeElement`),i=r.indexOf(n);i>=0&&r.splice(i,1),t.delete(e)}}occupiedAround(e,t){let n=[];for(let[r,i]of this.nodes){if(i.kind!==`node`||t.has(r))continue;let a=this.boundsOf(r);if(!a||i.bo.$instanceOf(`bpmn:SubProcess`)&&V(a,e))continue;n.push(a);let o=this.labelOf(r,a,i.bo);o&&n.push(o)}return n}labelOf(e,t,n){let r=this.shapes.get(e)?.label?.bounds;return r?{x:r.x,y:r.y,width:r.width,height:r.height}:B(n.$type,n.name,t)}withinOf(e){if(e.$instanceOf(`bpmn:SubProcess`))return this.boundsOf(e.id);for(let t of this.definitions.rootElements??[]){if(t.$type!==`bpmn:Collaboration`)continue;let n=(t.participants??[]).find(t=>t.processRef===e);if(n)return this.boundsOf(n.id)}}describe(){let e=[];for(let[t,n]of this.nodes){if(n.kind===`root`)continue;let r=this.scopeOf(n.bo)?.id;e.push({id:t,type:g(n.bo),...n.bo.name?{name:n.bo.name}:{},...r?{parent:r}:{},properties:J(n.bo,this.engine)})}for(let[t,n]of this.flows)e.push({id:t,type:g(n),...n.name?{name:n.name}:{},source:n.sourceRef?.id,target:n.targetRef?.id,properties:J(n,this.engine)});return e.sort((e,t)=>e.id<t.id?-1:+(e.id>t.id))}snapshotAll(){return{nodes:[...this.nodes].filter(([,e])=>e.kind===`node`).map(([e])=>this.snapshot(e)),flows:[...this.flows.keys()].map(e=>this.snapshot(e))}}flowTouching(e){return[...this.flows.values()].filter(t=>t.sourceRef?.id===e||t.targetRef?.id===e).map(e=>e.id)}create(e,t,n){if(this.flows.has(e.after))throw new j(o(`app.cli.edit.isAConnection`,{id:e.after}));let r=this.node(e.after);if(r.kind!==`node`)throw new j(o(`app.cli.edit.addAfterAnElementInside`,{id:e.after,type:g(r.bo)}));if(!this.plane)throw new j(o(`app.patch.noDrawing`));let i=S[e.element].type,a=this.scopeOf(r.bo);if(ie(i,e.event),e.id&&this.taken.has(e.id))throw new j(o(`app.cli.edit.idTaken`,{id:e.id}));z({id:r.bo.id,type:r.bo.$type,scope:a},{id:e.id??``,type:i,scope:a},(e,t)=>this.pairs.has(`${e}>${t}`));let s=e.id;if(!s){let n=e.name&&this.conventions.ids?v({$type:i},e.name,this.conventions.ids):null;s=n?b(n,e=>this.taken.has(e)):this.freshId(i,`${t}:${i}:${e.name??``}:${e.after}`)}this.taken.add(s);let c=this.moddle.create(i,{id:s});if(c.$parent=a,e.event){let t=this.moddle.create(C[e.event]);t.$parent=c,c.get(`eventDefinitions`).push(t)}a.get(`flowElements`).push(c),this.nodes.set(s,{bo:c,kind:`node`});for(let e of[...this.nodes.values()].filter(e=>e.kind===`container`&&e.bo.$type===`bpmn:Lane`))(e.bo.flowNodeRef??[]).includes(r.bo)&&e.bo.get(`flowNodeRef`).push(c);let l=this.boundsOf(r.bo.id);if(!l)throw new j(o(`app.patch.noDrawing`));let u=U(l,i,this.occupiedAround(l,/* @__PURE__ */ new Set([s])),this.withinOf(a),this.gap,e.name);this.shape(c,u);let d=x(this.conventions,i);Object.keys(d).length>0&&this.properties.modeling.updateProperties({businessObject:c},d),e.name&&c.set(`name`,e.name),e.properties&&K(this.properties,this.engine,{id:s,type:i,businessObject:c},e.properties);let f=this.link(r.bo,c,`${t}:flow:${r.bo.id}>${s}`);n.added.push(this.snapshot(s)),n.addedFlows.push(this.snapshot(f.id)),n.touched.push(s,f.id),n.summary=o(`app.cli.edit.added`,{type:g(c),id:s,after:r.bo.id})}link(e,t,n){let r=this.freshId(Y,n);this.taken.add(r);let i=this.moddle.create(Y,{id:r,sourceRef:e,targetRef:t}),a=this.scopeOf(e);i.$parent=a,a.get(`flowElements`).push(i),e.get(`outgoing`).push(i),t.get(`incoming`).push(i),this.flows.set(r,i),this.pairs.add(`${e.id}>${t.id}`);let o=this.boundsOf(e.id),s=this.boundsOf(t.id);return o&&s&&this.plane&&this.edge(i,W(o,s)),i}connect(e,t,n){let r=this.node(e.from),i=this.node(e.to);if(r.kind!==`node`)throw new j(o(`app.patch.notAFlowNode`,{id:e.from,type:g(r.bo)}));if(i.kind!==`node`)throw new j(o(`app.patch.notAFlowNode`,{id:e.to,type:g(i.bo)}));z({id:r.bo.id,type:r.bo.$type,scope:this.scopeOf(r.bo)},{id:i.bo.id,type:i.bo.$type,scope:this.scopeOf(i.bo)},(e,t)=>this.pairs.has(`${e}>${t}`));let a=this.link(r.bo,i.bo,`${t}:flow:${e.from}>${e.to}`);e.name&&a.set(`name`,e.name),e.condition&&K(this.properties,this.engine,{id:a.id,type:Y,businessObject:a},{condition:e.condition}),n.addedFlows.push(this.snapshot(a.id)),n.touched.push(a.id),n.summary=o(`app.cli.edit.connect`,{from:e.from,to:e.to,id:a.id})}set(e,t){let n=this.flows.get(e.id)??this.node(e.id).bo;K(this.properties,this.engine,{id:n.id,type:n.$type,businessObject:n},e.properties),t.changed.push({id:n.id,keys:Object.keys(e.properties),bounds:this.boundsOf(n.id)}),t.touched.push(n.id),t.summary=o(`app.cli.edit.set`,{keys:Object.keys(e.properties).join(`, `),id:n.id})}remove(e,t){let n=this.flows.get(e.id);if(n){this.snapshotAndDrop([n.id],t),t.summary=o(`app.cli.edit.removed`,{id:e.id});return}let r=this.node(e.id);if(r.kind===`root`)throw new j(o(`app.cli.edit.isTheRoot`,{id:e.id}));if(r.kind===`container`)throw new j(o(`app.patch.cannotRemoveContainer`,{id:e.id,type:g(r.bo)}));let i=/* @__PURE__ */ new Set([e.id]),a=[r.bo];for(;a.length>0;){let e=a.pop();for(let t of this.nodes.values())t.bo.attachedToRef===e&&!i.has(t.bo.id)&&(i.add(t.bo.id),a.push(t.bo));if(e.$instanceOf(`bpmn:SubProcess`))for(let t of e.flowElements??[])t.$type!==Y&&this.nodes.has(t.id)&&!i.has(t.id)&&(i.add(t.id),a.push(t))}let s=/* @__PURE__ */ new Set;for(let e of i)for(let t of this.flowTouching(e))s.add(t);this.snapshotAndDrop([...s,...i],t),t.summary=o(`app.cli.edit.removed`,{id:e.id})}snapshotAndDrop(e,t){let n=[...new Set(e)];for(let e of n)t.removed.push(this.snapshot(e));for(let e of n){let t=this.flows.get(e);if(t){let n=(e,t)=>{let n=e?.indexOf(t)??-1;n>=0&&e.splice(n,1)};n(t.sourceRef?.outgoing,t),n(t.targetRef?.incoming,t),n(t.$parent?.flowElements,t),t.sourceRef?.default===t&&t.sourceRef.set(`default`,void 0),this.flows.delete(e),this.pairs.delete(`${t.sourceRef?.id}>${t.targetRef?.id}`),this.unplane(e);continue}let n=this.nodes.get(e);if(!n)continue;let r=n.bo.$parent?.flowElements,i=r?.indexOf(n.bo)??-1;i>=0&&r.splice(i,1);for(let e of this.nodes.values()){let t=e.bo.flowNodeRef,r=t?.indexOf(n.bo)??-1;r>=0&&t.splice(r,1)}this.nodes.delete(e),this.unplane(e)}t.touched.push(...n)}move(e,t){if(this.flows.has(e.id))throw new j(o(`app.patch.isAFlow`,{id:e.id}));let n=this.node(e.id);if(n.kind!==`node`)throw new j(o(`app.patch.notAFlowNode`,{id:e.id,type:g(n.bo)}));if(!this.shapes.has(e.id))throw new j(o(`app.patch.noDrawing`));let r=/* @__PURE__ */ new Set([e.id]);for(let e of this.nodes.values())e.bo.attachedToRef===n.bo&&r.add(e.bo.id);if(n.bo.$instanceOf(`bpmn:SubProcess`)){let e=t=>{for(let n of t.flowElements??[])n.$type!==Y&&(r.add(n.id),n.$instanceOf(`bpmn:SubProcess`)&&e(n))};e(n.bo)}for(let n of r){let r=this.shapes.get(n)?.bounds;if(!r)continue;let i=this.boundsOf(n);r.set(`x`,i.x+e.dx),r.set(`y`,i.y+e.dy),t.moved.push({id:n,from:i,to:this.boundsOf(n)}),t.touched.push(n)}for(let t of this.flows.values()){let n=r.has(t.sourceRef?.id),i=r.has(t.targetRef?.id);if(n||i){if(n&&i){let n=this.edges.get(t.id);for(let t of n?.waypoint??[])t.set(`x`,t.x+e.dx),t.set(`y`,t.y+e.dy)}else this.reroute(t.id)}}t.summary=o(`app.cli.edit.moved`,{id:e.id,dx:e.dx,dy:e.dy})}};function _e(e,t){return{index:e,operation:t,summary:``,added:[],addedFlows:[],removed:[],changed:[],moved:[],touched:[]}}function ve(e,t){let n=ge(t),r=[];return t.forEach((t,i)=>{let a=_e(i,t);r.push(a);let s=n[i].find(e=>r[e].error);if(s!==void 0)a.skipped=!0,a.error=o(`app.patch.dependsOnFailed`,{number:s+1});else try{switch(t.op){case`add`:e.create(t,i,a);break;case`connect`:e.connect(t,i,a);break;case`set`:e.set(t,a);break;case`remove`:e.remove(t,a);break;case`move`:e.move(t,a)}}catch(e){if(!(e instanceof j))throw e;a.error=e.message}}),r}async function ye(e,t,n){if(t.operations.length===0)return{ok:!0,xml:e,steps:[]};let r=await s(e,a(n.engine));if(!r)return{ok:!1,steps:[],failedAt:-1};let i=ve(new X(r,n.engine,n.conventions??{},n.gap),t.operations),o=i.find(e=>e.error);return o?{ok:!1,steps:i,failedAt:o.index}:{ok:!0,xml:await l(r),steps:i}}const Z=8388608;function Q(t,n){return e(d(p(t).values.engine))??i(n)??`classic`}function $(e){return f(p(e).values.conventions)}async function be(e,t){let n;try{if(ee(e).size>Z)return{ok:!1,message:o(`app.agent.reason.fileTooLarge`,{limit:Z/1048576})};n=m(e,`utf8`)}catch{return{ok:!1,message:o(`app.agent.reason.noSuchFile`)}}let r=Q(e,n),i;try{i=R(t,r)}catch(e){return{ok:!1,message:e instanceof Error?e.message:String(e)}}let a=await ye(n,{operations:i},{engine:r,conventions:$(e)});if(!a.ok||a.xml===void 0){let e=a.failedAt!==void 0&&a.failedAt>=0?a.steps[a.failedAt]:void 0;return{ok:!1,message:o(`app.cli.edit.operationFailed`,{number:(e?.index??0)+1,message:e?.error??o(`app.cli.edit.didNotReadBack`)})}}return{ok:!0,before:n,after:a.xml,applied:a.steps.map(e=>e.summary)}}export{K as a,C as c,R as d,x as f,b as h,J as i,A as l,g as m,Q as n,j as o,v as p,be as r,S as s,$ as t,te as u};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import{n as e,t}from"./chunk-render-DZd5hScS.js";import{r as n}from"./chunk-parse-DiOcpdOU.js";import{r}from"./chunk-translator-DNm9zRpP.js";import{n as i}from"./chunk-commands-B8YVT41b.js";import{t as a}from"./chunk-context-rCJvBM9p.js";import{t as o}from"./chunk-connections-D_wC6d0W.js";import{n as s,t as c}from"./chunk-diagrams-CtGMGTa8.js";import{n as l,t as u}from"./chunk-dmnTests-BzNA-u2k.js";import{_ as d,g as f,m as p,v as m}from"./chunk-load-rfn3E0t5.js";import{i as h}from"./chunk-safeWrite-RgLbdyzl.js";import{u as g}from"./chunk-license-BG88gpDZ.js";import{r as ee,t as _}from"./chunk-policyGate-BOgKsqLq.js";import{c as v}from"./chunk-promotion-DDLrgBqZ.js";import{i as y,n as b}from"./chunk-receiptStore-DhROtI2h.js";import{t as x}from"./chunk-drawing-MbILUK8j.js";import{l as S,m as C,p as w,r as te,s as T,t as ne}from"./chunk-git-57LoLvY3.js";import{n as E}from"./chunk-diff-Dp3fUALc.js";import{n as re}from"./chunk-version-CdS8_QQd.js";import D from"node:path";import{closeSync as O,constants as k,fsyncSync as A,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 r(`app.evidence.zip.badName`,{name:e.slice(0,80)});for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return r(`app.evidence.zip.badName`,{name:e.slice(0,80)});return null}function se(e){if(e.length>5e3)throw new W([r(`app.evidence.zip.tooManyFiles`,{limit:H})]);let t=/* @__PURE__ */ new Set,n=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([r(`app.evidence.zip.duplicate`,{name:s.name})]);if(t.add(c),s.data.length>67108864)throw new W([r(`app.evidence.zip.tooLarge`,{name:s.name})]);if(n+=s.data.length,n>268435456)throw new W([r(`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([r(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);let t=new W([r(`app.evidence.zip.malformed`)]),n=-1;for(let t=e.length-22;t>=Math.max(0,e.length-22-65535);--t)if(e.readUInt32LE(t)===101010256){n=t;break}if(n<0)throw t;let i=e.readUInt16LE(n+10),a=e.readUInt32LE(n+12),o=e.readUInt32LE(n+16);if(i>5e3)throw new W([r(`app.evidence.zip.tooManyFiles`,{limit:H})]);if(o+a>n||e.readUInt16LE(n+8)!==i||e.readUInt16LE(n+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>n||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),_=e.readUInt32LE(u+38),v=e.readUInt32LE(u+42);if(u+46+h+g+ee>n)throw t;let y=e.subarray(u+46,u+46+h).toString(`utf8`);u+=46+h+g+ee;let b=G(y);if(b){c.push(b);continue}let x=_>>>16&61440;if(x!==0&&x!==32768){c.push(r(`app.evidence.zip.special`,{name:y}));continue}if(i&1||a!==0&&a!==8){c.push(r(`app.evidence.zip.unsupported`,{name:y}));continue}if(l.has(y.toLowerCase())){c.push(r(`app.evidence.zip.duplicate`,{name:y}));continue}if(l.add(y.toLowerCase()),m>67108864){c.push(r(`app.evidence.zip.tooLarge`,{name:y}));continue}if(d+=m,d>268435456)throw new W([r(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);if(v+30>o||e.readUInt32LE(v)!==67324752)throw t;let S=v+30+e.readUInt16LE(v+26)+e.readUInt16LE(v+28);if(S+p>o)throw t;let C=e.subarray(S,S+p),w;try{w=a===0?Buffer.from(C):ae(C,{maxOutputLength:67108864})}catch{c.push(r(`app.evidence.zip.unsupported`,{name:y}));continue}w.length!==m||V(w)>>>0!==f?c.push(r(`app.evidence.zip.crc`,{name:y})):s.push({name:y,data:w})}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,n){let i=J(e);if(i!==null){if(i.isSymbolicLink())throw new W([r(`app.evidence.write.symlink`,{path:e})]);if(n===`file`?!i.isFile():!i.isDirectory())throw new W([r(`app.evidence.write.notTheKind`,{path:e})]);if(!t)throw new W([r(`app.evidence.write.exists`,{path:e})]);if(n===`dir`&&J(D.join(e,`evidence.json`))===null&&ie(e).length>0)throw new W([r(`app.evidence.write.notAPack`,{path:e})])}}const fe=k.O_WRONLY|k.O_CREAT|k.O_EXCL|(k.O_NOFOLLOW??0);function pe(e,t){if(e!==void 0){let n=D.resolve(e.root),i=m(e.root);for(let e of[n,i]){let n=D.relative(e,t);if(n===``||!n.startsWith(`..`)&&!D.isAbsolute(n))return{base:e,strict:!0}}if(!e.allowOutside)throw new W([r(`app.cli.mcp.outsideRoots`,{target:t})])}return{base:D.parse(t).root,strict:!1}}function me(e,t){let n=D.resolve(e),{base:i,strict:a}=pe(t,n),o=a&&t!==void 0?m(t.root):null,s=i;for(let e of D.relative(i,n).split(D.sep).filter(e=>e!==``)){s=D.join(s,e);let t=J(s);if(t===null){try{M(s,{mode:493})}catch(e){if(e.code!==`EEXIST`)throw e}t=J(s)}if(t===null)throw new W([r(`app.evidence.write.notTheKind`,{path:s})]);if(t.isSymbolicLink()){if(a||t.uid!==0)throw new W([r(`app.evidence.write.symlink`,{path:s})]);if(!R(s).isDirectory())throw new W([r(`app.evidence.write.notTheKind`,{path:s})])}else if(!t.isDirectory())throw new W([r(`app.evidence.write.notTheKind`,{path:s})]);if(o!==null&&!d(F(s),[o]))throw new W([r(`app.cli.mcp.outsideRoots`,{target:s})])}return F(n)}function he(e,t,n){let i=F(t),a=n!==void 0&&!n.allowOutside?n.root:null;if(D.dirname(i)!==e||a!==null&&!d(i,[a]))throw new W([r(`app.cli.mcp.outsideRoots`,{target:t})])}function ge(e,t,n){let r=N(e,fe,420);try{z(r,t),n&&A(r)}finally{O(r)}}function _e(e,t,n,i){let a=se(t),o=D.resolve(e),s=me(D.dirname(o),i);Y(o,n,`file`);let c=h(o);try{if(ge(c,a,!0),he(s,c,i),Y(o,n,`file`),F(D.dirname(o))!==s)throw new W([r(`app.cli.mcp.outsideRoots`,{target:o})]);I(c,o)}catch(e){throw L(c,{force:!0}),e}}function ve(e,t,n,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([r(`app.evidence.zip.duplicate`,{name:e.name})]);o.add(e.name.toLowerCase()),a+=e.data.length}if(t.length>5e3)throw new W([r(`app.evidence.zip.tooManyFiles`,{limit:H})]);if(a>268435456)throw new W([r(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);let s=D.resolve(e),c=me(D.dirname(s),i);Y(s,n,`dir`);let l=h(s);M(l,{mode:493});try{he(c,l,i);for(let e of t){let t=e.name.split(`/`),n=l;for(let e of t.slice(0,-1)){n=D.join(n,e);try{M(n,{mode:493})}catch(e){if(e.code!==`EEXIST`)throw e}if(!j(n).isDirectory())throw new W([r(`app.evidence.write.symlink`,{path:n})])}ge(D.join(n,t[t.length-1]),e.data,!1)}if(J(s)!==null&&(Y(s,n,`dir`),L(s,{recursive:!0})),F(D.dirname(s))!==c)throw new W([r(`app.cli.mcp.outsideRoots`,{target:s})]);I(l,s)}catch(e){throw L(l,{recursive:!0,force:!0}),e}}function ye(e,t,n,i,a,o){if(n>8)a.push(r(`app.evidence.verify.tooDeep`,{path:t}));else for(let s of ie(D.join(e,t)).sort()){let c=t===``?s:`${t}/${s}`,l=j(D.join(e,c));if(l.isSymbolicLink()||!l.isDirectory()&&!l.isFile())a.push(r(`app.evidence.zip.special`,{name:c}));else if(l.isDirectory())ye(e,c,n+1,i,a,o);else{if(i.length>=5e3)throw new W([r(`app.evidence.zip.tooManyFiles`,{limit:H})]);if(l.size>67108864)a.push(r(`app.evidence.zip.tooLarge`,{name:c}));else{if(o.total+=l.size,o.total>268435456)throw new W([r(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);i.push({name:c,data:P(D.join(e,c))})}}}}function be(e,t){let n;try{n=JSON.parse(e.toString(`utf8`))}catch{return t.push(r(`app.evidence.verify.manifestUnreadable`)),null}let i=n;if(typeof i!=`object`||!i||i.version!==1||i.kind!==`penstock-evidence`||!Array.isArray(i.files))return t.push(r(`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(r(`app.evidence.verify.manifestUnreadable`)),null;return i}function xe(e){let t=[],n=()=>({ok:!1,problems:t,files:0,sealed:null,manifest:null}),i=J(e);if(i===null)return t.push(r(`app.evidence.verify.missing`,{path:e})),n();if(i.isSymbolicLink()||!i.isDirectory()&&!i.isFile())return t.push(r(`app.evidence.write.symlink`,{path:e})),n();let a;try{if(i.isDirectory())a=[],ye(e,``,0,a,t,{total:0});else{if(i.size>270435456)throw new W([r(`app.evidence.zip.tooBig`,{megabytes:U/1048576})]);a=ce(P(e))}}catch(i){return i instanceof W?t.push(...i.reasons):t.push(r(`app.evidence.verify.unreadable`,{path:e})),n()}let o=new Map(a.map(e=>[e.name,e.data])),s=o.get(K),c=o.get(le);s===void 0&&t.push(r(`app.evidence.verify.noManifest`)),c===void 0&&t.push(r(`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(r(`app.evidence.verify.sealUnreadable`)):e!==l&&t.push(r(`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 n of u.files){let i=G(n.path);if(i){t.push(i);continue}if(e.has(n.path)){t.push(r(`app.evidence.zip.duplicate`,{name:n.path}));continue}e.add(n.path);let a=o.get(n.path);a===void 0?t.push(r(`app.evidence.verify.missingFile`,{file:n.path})):(a.length!==n.bytes||q(a)!==n.sha256)&&t.push(r(`app.evidence.verify.changedFile`,{file:n.path}))}for(let n of o.keys())n!==`evidence.json`&&n!==`evidence.sha256`&&!e.has(n)&&t.push(r(`app.evidence.verify.extraFile`,{file:n}))}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 D.relative(e,t).split(D.sep).join(`/`)}function Z(e){return Buffer.from(`${JSON.stringify(e,null,2)}\n`,`utf8`)}function Ce(t){return e(t)?`case`:s(t)??`process`}function we(e,t){try{let n=j(t);return n.isFile()&&!n.isSymbolicLink()&&n.size<=8388608&&d(m(t),[m(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(r,i={}){let a=P(r,`utf8`);return e(r)?t(n(a)):(await x(a,i)).svg}function Ee(r,i,a){return e(i)?Promise.resolve(t(n(r))):x(r,a).then(e=>e.svg)}function De(e){if(!S(e))return null;let t=T(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(t,n={}){let h=m(t.root),x=[],S=[],C=[],T=await(n.tier??(async()=>(await g()).tier))(),ne=T===`team`,E=(e,t,n=null)=>{S.push({name:e,included:t,note:n})};if(t.since!==void 0&&(!w(t.since)||te(h,t.since)===null))return C.push(r(`app.cli.evidence.badSince`,{ref:t.since})),{entries:x,header:$(h,n,T,t.since??null,S),refused:C,checksOk:!1};let re=c(h,[`process`,`decision`,`form`,`case`]);re.length>500&&C.push(r(`app.cli.evidence.tooManyDiagrams`,{limit:500}));let O=re.filter(e=>we(h,e)?!0:(C.push(r(`app.cli.evidence.notInspected`,{file:X(h,e)})),!1));if(C.length>0)return{entries:x,header:$(h,n,T,t.since??null,S),refused:C,checksOk:!1};O.sort();let k=O.map(e=>({path:X(h,e),kind:Ce(e),sha256:q(P(e))}));x.push({name:`inventory.json`,data:Z({projectDigest:ee(h),files:k})}),E(`inventory`,!0);let A=O.filter(e=>[`process`,`case`].includes(Ce(e)));for(let e of A)try{x.push({name:`diagrams/${X(h,e)}.svg`,data:Buffer.from(await Te(e),`utf8`)})}catch(t){C.push(r(`app.cli.evidence.notDrawn`,{file:X(h,e),reason:t instanceof Error?t.message.split(`
|
|
2
|
+
`)[0]:String(t)}))}if(E(`diagrams`,!0,A.length===0?r(`app.cli.evidence.none`):null),C.length>0)return{entries:[],header:$(h,n,T,t.since??null,S),refused:C,checksOk:!1};let M=O.filter(t=>s(t)!==null||e(t)),N=!0;if(M.length>0){let e=await i(M,{format:`sarif`,baseline:!1,updateBaseline:!1}),t=await i(M,{format:`text`,baseline:!1,updateBaseline:!1});N=e.ok&&t.ok,x.push({name:`checks/check.sarif`,data:Buffer.from(`${e.lines.join(`
|
|
3
|
+
`)}\n`,`utf8`)}),x.push({name:`checks/check.txt`,data:Buffer.from(`${t.lines.join(`
|
|
4
|
+
`)}\n`,`utf8`)}),x.push({name:`checks/result.json`,data:Z({ok:N})})}E(`checks`,M.length>0,M.length>0?null:r(`app.cli.evidence.none`));let ie=u([h]).slice(0,200),F=[];for(let e of ie){let t=await l(e,{licensed:!0});(t.testsFile!==null||t.problem!==null)&&F.push({file:X(h,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}))})}x.push({name:`tests/results.json`,data:Z({recorded:{scenarios:_(h,`scenarios`),dmnTests:_(h,`dmnTests`)},dmn:F})}),E(`tests`,!0);let I=[];for(let e of y(h).slice(-200)){let t=b(h,e);if(!(`receipt`in t)){I.push({file:D.basename(e),readable:!1});continue}let n=t.receipt;I.push({file:D.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}})}x.push({name:`receipts/receipts.json`,data:Z({receipts:I})}),E(`receipts`,!0,I.length===0?r(`app.cli.evidence.none`):null),t.since===void 0?E(`changes`,!1,r(`app.cli.evidence.noSince`)):E(`changes`,!0,await ke(h,t.since,x)===0?r(`app.cli.evidence.none`):null);let L=a(h);ne?(x.push({name:`policy/policy.json`,data:Z(f(L.policy??p(h,L.own)))}),x.push({name:`policy/environments.json`,data:Z({environments:v(h).map(e=>({name:e.name,declared:e.target!==null,protected:e.target?.protected===!0}))})}),E(`policy`,!0)):E(`policy`,!1,r(`app.cli.evidence.teamOnly`));let R=o(h,{environment:null,against:null});x.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(h,e.file),line:e.line??null}))})}),E(`connections`,!0);let z=D.join(h,`.penstock`,`migration`,`report.md`),B=!1;try{let e=j(z);e.isFile()&&!e.isSymbolicLink()&&e.size<=1048576&&d(m(z),[h])&&(x.push({name:`migration/report.md`,data:P(z)}),B=!0)}catch{B=!1}E(`migration`,B,B?null:r(`app.cli.evidence.none`));let V=$(h,n,T,t.since??null,S);return x.push({name:`index.html`,data:Buffer.from(Ae(V,x),`utf8`)}),{entries:x,header:V,refused:C,checksOk:N}}function $(e,t,n,r,i){return{tool:{name:`penstock`,version:re()??`unknown`},generatedAt:(t.now??(()=>/* @__PURE__ */ new Date))().toISOString(),git:De(e),since:r,tier:n,sections:i}}async function ke(e,t,n){let r=ne(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=D.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:C(e,t,r.previous[o]??o),d=c===`case`?null:await E(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:te(e,t),changed:a,removed:r.removed})}),a.length+r.removed.length}function Ae(e,t){let n=[...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(r(`app.cli.evidence.included`)):Q(r(`app.cli.evidence.left`))}${e.note?` (${Q(e.note)})`:``}</li>`).join(`
|
|
6
|
+
`),a=e.git?`${e.git.commit??``} ${e.git.authorName??``} ${e.git.authorDate??``}`:r(`app.cli.evidence.noGit`);return`<!doctype html>
|
|
7
|
+
<html><head><meta charset="utf-8"><title>${Q(r(`app.cli.evidence.title`))}</title></head>
|
|
8
|
+
<body>
|
|
9
|
+
<h1>${Q(r(`app.cli.evidence.title`))}</h1>
|
|
10
|
+
<p>${Q(r(`app.cli.evidence.tool`,{version:e.tool.version,at:e.generatedAt}))}</p>
|
|
11
|
+
<p>${Q(r(`app.cli.evidence.commit`,{commit:a.trim()}))}</p>
|
|
12
|
+
<p>${Q(r(`app.cli.evidence.sealNote`))}</p>
|
|
13
|
+
<ul>
|
|
14
|
+
${i}
|
|
15
|
+
</ul>
|
|
16
|
+
<table>
|
|
17
|
+
<thead><tr><th>${Q(r(`app.cli.evidence.column.file`))}</th><th>${Q(r(`app.cli.evidence.column.bytes`))}</th><th>SHA-256</th></tr></thead>
|
|
18
|
+
<tbody>
|
|
19
|
+
${n}
|
|
20
|
+
</tbody>
|
|
21
|
+
</table>
|
|
22
|
+
</body></html>
|
|
23
|
+
`}function je(e){let t=e.out===void 0?D.join(e.root,`.penstock`,e.format===`zip`?Se:`evidence`):D.resolve(e.out);return e.format===`zip`?t.toLowerCase().endsWith(`.zip`)||e.out===void 0?t:D.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:[r(`app.cli.evidence.dirNotZip`,{out:e.out})]};let n=await Oe(e,t);if(n.refused.length>0)return{ok:!1,refused:!0,lines:[r(`app.cli.evidence.refused`),...n.refused.map(e=>` ${e}`)]};let i=de(n.entries,n.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:[r(`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:n.checksOk,sections:n.header.sections},null,2)]:[r(`app.cli.evidence.built`,{path:a,files:o.files}),r(`app.cli.evidence.sealed`,{seal:o.sealed??``}),r(`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 n=xe(D.resolve(e));return t?{ok:n.ok,refused:!1,lines:[JSON.stringify({ok:n.ok,files:n.files,sealed:n.sealed,problems:n.problems},null,2)]}:n.ok?{ok:!0,lines:[r(`app.cli.evidence.verified`,{files:n.files,seal:n.sealed??``}),r(`app.cli.evidence.sealNote`)]}:{ok:!1,lines:[r(`app.cli.evidence.tampered`),...n.problems.map(e=>` ${e}`)]}}const Pe=[`build`,`verify`];async function Fe(e,t,n={}){let[i,o]=e;if(i===`verify`)return o===void 0?{ok:!1,refused:!0,lines:[r(`app.cli.evidence.needsPack`)]}:Ne(o,t.format===`json`);if(i!==`build`)return{ok:!1,refused:!0,lines:[r(`app.cli.evidence.unknownAction`,{actions:Pe.join(`, `)})]};let s=D.resolve(o??process.cwd());try{if(!j(s).isDirectory())return{ok:!1,lines:[r(`app.cli.web.notAFolder`,{folder:s})]}}catch{return{ok:!1,lines:[r(`app.cli.web.notAFolder`,{folder:s})]}}let c=t.format===`dir`?`dir`:`zip`;return Me({root:a(s).root,out:t.out,format:t.out===void 0||t.format===`zip`||t.format===`dir`?c:t.out.toLowerCase().endsWith(`.zip`)?`zip`:`dir`,since:t.since,force:t.force,json:t.format===`json`},n)}export{Me as evidenceBuild,Fe as evidenceCommand};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{c as e,f as t,i as n,o as r,p as i,u as a}from"./chunk-penstockCli-C41P_G7i.js";import{_ as o,r as s,u as c,v as l}from"./chunk-engine-CxgdJ2wO.js";const u=`# yaml-language-server: $schema=${r}
|
|
2
2
|
# What this project is. Commit it.
|
|
3
3
|
|
|
4
4
|
engine: camunda-8
|
|
@@ -108,7 +108,7 @@ node_modules/
|
|
|
108
108
|
mode: self-managed
|
|
109
109
|
rest-address: http://localhost:8080
|
|
110
110
|
grpc-address: http://localhost:26500
|
|
111
|
-
`,"src/main/resources/order-process.bpmn":
|
|
111
|
+
`,"src/main/resources/order-process.bpmn":t(`camunda-8`),"src/main/resources/shipping-method.dmn":e(`camunda-8`),"src/main/resources/approve-order.form":a(`camunda-8`),"src/main/java/io/penstock/example/OrderWorkersApplication.java":`package io.penstock.example;
|
|
112
112
|
|
|
113
113
|
import org.springframework.boot.SpringApplication;
|
|
114
114
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
@@ -142,7 +142,7 @@ public class ChargeCardWorker {
|
|
|
142
142
|
return Map.of("paymentId", "pay-" + UUID.randomUUID());
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
`,"src/test/resources/test-cases/order-process.json":
|
|
145
|
+
`,"src/test/resources/test-cases/order-process.json":i(`camunda-8`),"node-worker/package.json":d,"node-worker/index.js":`import { Camunda8 } from '@camunda8/sdk';
|
|
146
146
|
|
|
147
147
|
const camunda = new Camunda8({
|
|
148
148
|
CAMUNDA_AUTH_STRATEGY: 'NONE',
|
|
@@ -159,7 +159,7 @@ camunda.getCamundaRestClient().createJobWorker({
|
|
|
159
159
|
return job.complete({ receiptSentAt: new Date().toISOString() });
|
|
160
160
|
},
|
|
161
161
|
});
|
|
162
|
-
`}}function p(e){return`# yaml-language-server: $schema=${
|
|
162
|
+
`}}function p(e){return`# yaml-language-server: $schema=${r}
|
|
163
163
|
# What this project is. Commit it.
|
|
164
164
|
|
|
165
165
|
engine: ${e}
|
|
@@ -309,7 +309,7 @@ public class ChargeCardWorker {
|
|
|
309
309
|
service.complete(task, Map.of("paymentId", "pay-" + UUID.randomUUID()));
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
|
-
`}function y(e,t){let
|
|
312
|
+
`}function y(e,t){let n=c(e);return`# Order process on ${n}
|
|
313
313
|
|
|
314
314
|
A small order process that runs from the first minute: a user task with a form approves the order, an external task
|
|
315
315
|
charges the card (and ends the order when the card is declined), a decision picks the shipping method, the process waits for
|
|
@@ -330,7 +330,7 @@ a message that the parcel has shipped, and a Java delegate sends the receipt.
|
|
|
330
330
|
- Java 17 or newer and Maven 3.9 or newer
|
|
331
331
|
- Penstock: the plugin in your IDE, or the \`penstock\` command line
|
|
332
332
|
|
|
333
|
-
The engine is part of the example: a Spring Boot application with the ${
|
|
333
|
+
The engine is part of the example: a Spring Boot application with the ${n} engine, its REST API and the web apps,
|
|
334
334
|
on an in-memory H2 database.
|
|
335
335
|
|
|
336
336
|
## Run it
|
|
@@ -369,8 +369,8 @@ ${e===`camunda-7`?`
|
|
|
369
369
|
See the [Spring Boot integration](https://docs.camunda.org/manual/latest/user-guide/spring-boot-integration/) and the
|
|
370
370
|
[External Task Client](https://docs.camunda.org/manual/latest/user-guide/ext-client/) in the Camunda documentation.
|
|
371
371
|
7.24.0 is the last community release on Maven Central.
|
|
372
|
-
`:``}`}function b(
|
|
373
|
-
`,"pom.xml":m(u,d),"src/main/resources/application.yaml":g(
|
|
372
|
+
`:``}`}function b(n,r=`3`){let u=l(n,r);if(!u)throw Error(`${c(n)} has no Spring Boot ${r} starters`);let d=u.client.replace(/-external-task-client$/,``),f=o(n);return{"penstock.yaml":p(n),"README.md":y(n,u),".gitignore":`target/
|
|
373
|
+
`,"pom.xml":m(u,d),"src/main/resources/application.yaml":g(s[n].settings),"src/main/resources/order-process.bpmn":t(n),"src/main/resources/shipping-method.dmn":e(n),"src/main/resources/approve-order.form":a(n),"src/main/java/io/penstock/example/OrderApplication.java":`package io.penstock.example;
|
|
374
374
|
|
|
375
375
|
import org.springframework.boot.SpringApplication;
|
|
376
376
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
@@ -382,4 +382,4 @@ public class OrderApplication {
|
|
|
382
382
|
SpringApplication.run(OrderApplication.class, args);
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
|
-
`,"src/main/java/io/penstock/example/SendReceiptDelegate.java":_(f),"src/test/resources/test-cases/order-process.json":
|
|
385
|
+
`,"src/main/java/io/penstock/example/SendReceiptDelegate.java":_(f),"src/test/resources/test-cases/order-process.json":i(n),"worker/pom.xml":h(u,d),"worker/src/main/java/io/penstock/example/worker/ChargeCardWorker.java":v(f)}}const x=[`camunda-8`,`camunda-7`,`operaton`,`cib-seven`,`flowable`,`activiti`];function S(e){return x.includes(e)}function C(e,t=`3`){return e===`camunda-8`?f():e===`flowable`||e===`activiti`?n(e):b(e,t)}export{C as n,S as r,x as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{n as exportCommand}from"./chunk-export-kt3sBTZu.js";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{r as e}from"./chunk-context-rCJvBM9p.js";import{n as t,t as n}from"./chunk-render-DZd5hScS.js";import{r}from"./chunk-parse-DiOcpdOU.js";import{t as i}from"./chunk-drawing-MbILUK8j.js";import{s as a}from"./chunk-failure-BRyRvObj.js";import{r as o}from"./chunk-translator-DNm9zRpP.js";import{n as s}from"./chunk-project-lO_6DX8G.js";import{n as c}from"./chunk-systemError-n2E6isvg.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[o(`app.cli.export.needsBrowser`),o(`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(e,t,n){let r=await e.evaluate(`(async () => {
|
|
2
|
+
const svg = ${JSON.stringify(t)};
|
|
3
|
+
const image = new Image();
|
|
4
|
+
const loaded = new Promise((resolve, reject) => {
|
|
5
|
+
image.onload = resolve;
|
|
6
|
+
image.onerror = () => reject(new Error(${JSON.stringify(o(`app.output.couldNotBePainted`))}));
|
|
7
|
+
});
|
|
8
|
+
image.src = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svg);
|
|
9
|
+
await loaded;
|
|
10
|
+
|
|
11
|
+
const scale = ${n};
|
|
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(r,`base64`)}async function y(l,m,_,y=g){let b=m===`text`?`svg`:m;if(![`svg`,`png`].includes(b))return{ok:!1,lines:[o(`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=t(h)?{svg:n(r(f(h,`utf8`))),skipped:[]}:await i(f(h,`utf8`))}catch(t){C=!1,S.push(a(e(h),t));continue}let g=_??u.dirname(h),y=u.join(g,`${s(h)}.${b}`),x=l.svg;try{m&&(x=await v(m,l.svg,2))}catch(t){C=!1,S.push(`${e(h)}: ${t instanceof Error?t.message:String(t)}`);continue}try{d(g,{recursive:!0}),p(y,x)}catch(e){C=!1,S.push(c(e,y));continue}S.push(o(`app.cli.wrote`,{file:e(y)}),...l.skipped.map(e=>o(`app.cli.export.notDrawn`,{element:e})))}}finally{await x?.close()}return{ok:C,refused:!1,lines:S}}export{y as n,_ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{n as e}from"./chunk-codeFactSet-DiAYqvbb.js";import{r as t}from"./chunk-translator-DNm9zRpP.js";async function n(){let e=[];for await(let t of process.stdin)e.push(Buffer.from(t));return Buffer.concat(e).toString(`utf8`)}function r(e){try{return JSON.parse(e)}catch{return}}function i(e){let t=r(e);if(typeof t!=`object`||!t||!Array.isArray(t.files))return null;let n=[];for(let e of t.files){if(typeof e!=`object`||!e)return null;let{path:t,text:r}=e;if(typeof t!=`string`||typeof r!=`string`)return null;n.push({path:t,text:r})}return n}async function a(n){let r=i(n);return r===null?{ok:!1,lines:[t(`app.cli.facts.badInput`)]}:{ok:!0,lines:[JSON.stringify(await e(r))]}}export{a as factsCommand,n as readStandardInput};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./chunk-model-BulEKnY1.js";import{r as t,t as n}from"./chunk-unreadableDiagram-CcrctihL.js";import{r}from"./chunk-translator-DNm9zRpP.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(e){return r(`app.output.noSuchPath`,{target:e})}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 r(`app.output.isAFolder`,{file:i});let o=f(a);if(o!==null)return`${i}: ${o}`;let s=n(a instanceof Error?a:Error(String(a)));return r(`app.output.notValid`,{file:i,what:e(i),reason:t(s)})}const m=[[/\.dmn$/i,`decision`],[/\.form$/i,`form`]];function h(e){if(/\.bpmn(\.xml|20\.xml)?$/i.test(e))return null;let t=m.find(([t])=>t.test(e)),n=r(t?`app.output.kind.${t[1]}`:`app.output.kind.notBpmn`);return r(`app.output.notABpmnDiagram`,{file:e,kind:n})}export{f as a,h as i,l as n,a as o,c as r,p as s,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{i as e}from"./chunk-engine-CxgdJ2wO.js";import{r as t}from"./chunk-translator-DNm9zRpP.js";const n={ASSERT_DECISION:{required:[`decisionSelector`],allowed:[`decisionSelector`,`output`,`matchedRules`,`notMatchedRules`,`noMatchedRules`]},ASSERT_ELEMENT_INSTANCE:{required:[`processInstanceSelector`,`elementSelector`,`state`],allowed:[`processInstanceSelector`,`elementSelector`,`state`,`amount`]},ASSERT_ELEMENT_INSTANCES:{required:[`processInstanceSelector`,`elementSelectors`,`state`],allowed:[`processInstanceSelector`,`elementSelectors`,`state`]},ASSERT_PROCESS_INSTANCE:{required:[`processInstanceSelector`],allowed:[`processInstanceSelector`,`state`,`hasActiveIncidents`]},ASSERT_PROCESS_INSTANCE_MESSAGE_SUBSCRIPTION:{required:[`processInstanceSelector`,`messageSelector`,`state`],allowed:[`processInstanceSelector`,`messageSelector`,`state`]},ASSERT_USER_TASK:{required:[`userTaskSelector`],allowed:[`userTaskSelector`,`state`,`assignee`,`candidateGroups`,`priority`,`elementId`,`name`,`dueDate`,`followUpDate`]},ASSERT_VARIABLES:{required:[`processInstanceSelector`],allowed:[`processInstanceSelector`,`elementSelector`,`variableNames`,`variables`]},BROADCAST_SIGNAL:{required:[`signalName`],allowed:[`signalName`,`variables`]},COMPLETE_JOB:{required:[`jobSelector`],allowed:[`jobSelector`,`variables`,`useExampleData`]},COMPLETE_JOB_AD_HOC_SUB_PROCESS:{required:[`jobSelector`],allowed:[`jobSelector`,`variables`,`activateElements`,`cancelRemainingInstances`,`completionConditionFulfilled`]},COMPLETE_JOB_USER_TASK_LISTENER:{required:[`jobSelector`],allowed:[`jobSelector`,`denied`,`deniedReason`,`corrections`]},COMPLETE_USER_TASK:{required:[`userTaskSelector`],allowed:[`userTaskSelector`,`variables`,`useExampleData`]},CORRELATE_MESSAGE:{required:[`name`],allowed:[`name`,`correlationKey`,`variables`]},CREATE_PROCESS_INSTANCE:{required:[`processDefinitionSelector`],allowed:[`processDefinitionSelector`,`variables`,`startInstructions`,`runtimeInstructions`]},EVALUATE_CONDITIONAL_START_EVENT:{required:[`variables`],allowed:[`variables`]},EVALUATE_DECISION:{required:[`decisionDefinitionSelector`],allowed:[`decisionDefinitionSelector`,`variables`]},INCREASE_TIME:{required:[`duration`],allowed:[`duration`]},MOCK_CHILD_PROCESS:{required:[`processDefinitionId`],allowed:[`processDefinitionId`,`variables`]},MOCK_DMN_DECISION:{required:[`decisionDefinitionId`],allowed:[`decisionDefinitionId`,`variables`]},MOCK_JOB_WORKER_COMPLETE_JOB:{required:[`jobType`],allowed:[`jobType`,`variables`,`useExampleData`]},MOCK_JOB_WORKER_THROW_BPMN_ERROR:{required:[`jobType`,`errorCode`],allowed:[`jobType`,`errorCode`,`errorMessage`,`variables`]},PUBLISH_MESSAGE:{required:[`name`],allowed:[`name`,`correlationKey`,`variables`,`timeToLive`,`messageId`]},RESOLVE_INCIDENT:{required:[`incidentSelector`],allowed:[`incidentSelector`]},SET_TIME:{required:[`time`],allowed:[`time`]},THROW_BPMN_ERROR_FROM_JOB:{required:[`jobSelector`,`errorCode`],allowed:[`jobSelector`,`errorCode`,`errorMessage`,`variables`]},UPDATE_VARIABLES:{required:[`processInstanceSelector`,`variables`],allowed:[`processInstanceSelector`,`variables`,`elementSelector`]}},r=`https://camunda.com/json-schema/cpt-test-cases/8.9/schema.json`,i=/* @__PURE__ */ new Set([`CREATE_PROCESS_INSTANCE`,`MOCK_JOB_WORKER_COMPLETE_JOB`,`MOCK_JOB_WORKER_THROW_BPMN_ERROR`,`COMPLETE_JOB`,`THROW_BPMN_ERROR_FROM_JOB`,`COMPLETE_USER_TASK`,`CORRELATE_MESSAGE`,`PUBLISH_MESSAGE`,`BROADCAST_SIGNAL`,`UPDATE_VARIABLES`,`ASSERT_PROCESS_INSTANCE`,`ASSERT_ELEMENT_INSTANCE`,`ASSERT_ELEMENT_INSTANCES`,`ASSERT_VARIABLES`,`ASSERT_USER_TASK`]),a=/* @__PURE__ */ new Set([`MOCK_CHILD_PROCESS`,`MOCK_DMN_DECISION`,`ASSERT_DECISION`,`ASSERT_PROCESS_INSTANCE_MESSAGE_SUBSCRIPTION`,`COMPLETE_JOB_AD_HOC_SUB_PROCESS`,`COMPLETE_JOB_USER_TASK_LISTENER`,`EVALUATE_CONDITIONAL_START_EVENT`,`EVALUATE_DECISION`,`RESOLVE_INCIDENT`,`SET_TIME`,`INCREASE_TIME`,`ASSERT_VARIABLE`,`CONDITIONAL_BEHAVIOR`]),o=/* @__PURE__ */ new Set([...i,...a]);function s(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function c(e){let n;try{n=JSON.parse(e)}catch(e){return{file:null,problems:[t(`app.testCases.problem.notJson`,{reason:e instanceof Error?e.message:String(e)})],notJson:!0}}if(!s(n)||!Array.isArray(n.testCases))return{file:null,problems:[t(`app.testCases.problem.noTestCasesList`)]};let r=[];return n.testCases.forEach((e,n)=>{s(e)&&typeof e.name==`string`&&e.name.trim()!==``?!Array.isArray(e.instructions)||e.instructions.length===0?r.push(t(`app.testCases.problem.caseHasNoInstructions`,{name:e.name})):r.push(...m(e).map(n=>t(`app.testCases.problem.inCase`,{name:e.name,problem:n}))):r.push(t(`app.testCases.problem.caseHasNoName`,{number:n+1}))}),{file:n,problems:r}}const l=e=>typeof e==`string`&&e.trim()!==``,u={CREATE_PROCESS_INSTANCE:[[`processDefinitionSelector.processDefinitionId`,e=>s(e.processDefinitionSelector)&&l(e.processDefinitionSelector.processDefinitionId)]],MOCK_JOB_WORKER_COMPLETE_JOB:[[`jobType`,e=>l(e.jobType)]],MOCK_JOB_WORKER_THROW_BPMN_ERROR:[[`jobType`,e=>l(e.jobType)],[`errorCode`,e=>l(e.errorCode)]],MOCK_CHILD_PROCESS:[[`processDefinitionId`,e=>l(e.processDefinitionId)]],MOCK_DMN_DECISION:[[`decisionDefinitionId`,e=>l(e.decisionDefinitionId)]],COMPLETE_JOB:[[`jobSelector`,e=>s(e.jobSelector)]],THROW_BPMN_ERROR_FROM_JOB:[[`jobSelector`,e=>s(e.jobSelector)],[`errorCode`,e=>l(e.errorCode)]],COMPLETE_USER_TASK:[[`userTaskSelector`,e=>s(e.userTaskSelector)]],CORRELATE_MESSAGE:[[`name`,e=>l(e.name)]],PUBLISH_MESSAGE:[[`name`,e=>l(e.name)]],BROADCAST_SIGNAL:[[`signalName`,e=>l(e.signalName)]],UPDATE_VARIABLES:[[`variables`,e=>s(e.variables)]],INCREASE_TIME:[[`duration`,e=>l(e.duration)]],ASSERT_ELEMENT_INSTANCES:[[`elementSelectors`,e=>Array.isArray(e.elementSelectors)&&e.elementSelectors.every(s)],[`state`,e=>l(e.state)]],ASSERT_ELEMENT_INSTANCE:[[`elementSelector`,e=>s(e.elementSelector)],[`state`,e=>l(e.state)]],ASSERT_USER_TASK:[[`userTaskSelector`,e=>s(e.userTaskSelector)]]},d=new Set(e.filter(e=>e!==`classic`)),f=/* @__PURE__ */ new Set([`complete`,`error`,`fire`,`hold`,`incident`]);function p(e){if(!s(e))return[t(`app.testCases.problem.notAnObject`)];let n=typeof e.name==`string`&&e.name.trim()!==``?[]:[t(`app.testCases.problem.hasNoName`)];return!Array.isArray(e.instructions)||e.instructions.length===0?[...n,t(`app.testCases.problem.hasNoInstructions`)]:[...n,...m(e)]}function m(e){let r=[];e.instructions.forEach((e,i)=>{if(!s(e)||!l(e.type)){r.push(t(`app.testCases.problem.shapelessInstruction`,{number:i+1}));return}let a=e.type,o=(Object.hasOwn(u,a)?u[a]:[]).find(([,t])=>!t(e));if(o){r.push(t(`app.testCases.problem.instructionNeeds`,{number:i+1,type:a,property:o[0]}));return}let c=Object.hasOwn(n,a)?n[a]:void 0;if(!c)return;let d=c.required.find(t=>e[t]===void 0);if(d){r.push(t(`app.testCases.problem.instructionNeeds`,{number:i+1,type:a,property:d}));return}let f=Object.keys(e).find(e=>e!==`type`&&!c.allowed.includes(e));f&&r.push(t(`app.testCases.problem.instructionNotAllowed`,{number:i+1,type:a,property:f}))});let i=e[`x-penstock`];if(i===void 0)return r;if(!s(i))return[...r,t(`app.testCases.problem.blockNotAnObject`)];i.engines!==void 0&&!(Array.isArray(i.engines)&&i.engines.every(e=>d.has(e)))&&r.push(t(`app.testCases.problem.enginesList`,{engines:[...d].join(`, `)})),i.behaviours!==void 0&&!s(i.behaviours)?r.push(t(`app.testCases.problem.behavioursNotAnObject`)):Object.entries(i.behaviours??{}).forEach(([e,n])=>{!s(n)||!f.has(n.then)?r.push(t(`app.testCases.problem.behaviourNeedsThen`,{element:e})):n.then===`error`&&!l(n.errorCode)&&r.push(t(`app.testCases.problem.behaviourNeedsErrorCode`,{element:e}))});let a=i.reproduces;return a!==void 0&&!(s(a)&&l(a.elementId))?r.push(t(`app.testCases.problem.reproducesNeedsElement`)):s(a)&&a.message!==void 0&&!h(a.message)&&r.push(t(`app.testCases.problem.reproducesBadPattern`)),r}function h(e){if(typeof e!=`string`||e.length>500)return null;try{return new RegExp(e,`is`)}catch{return null}}function g(e){let{$schema:t,...n}=e;return`${JSON.stringify({$schema:t??`https://camunda.com/json-schema/cpt-test-cases/8.9/schema.json`,...n},null,2)}\n`}function _(e,t){let n=e??{$schema:`https://camunda.com/json-schema/cpt-test-cases/8.9/schema.json`,testCases:[]},r=n.testCases.findIndex(e=>e?.name===t.name),i=r<0?[...n.testCases,t]:n.testCases.map((e,n)=>n===r?t:e);return{...n,$schema:n.$schema??`https://camunda.com/json-schema/cpt-test-cases/8.9/schema.json`,testCases:i}}function v(e,n){let r=null;if(e!==null&&e.trim()!==``){let n=c(e);if(!n.file)return{problem:n.notJson?t(`app.testCases.problem.fileNotValidJson`):t(`app.testCases.problem.fileLeftAsItIs`,{problems:n.problems.join(`; `)})};r=n.file}let i=new Set((r?.testCases??[]).map(e=>e?.name)),a=[],o=[],s=r;for(let e of n)i.has(e.name)?o.push(e.name):(i.add(e.name),a.push(e.name),s=_(s,e));return{file:s??{$schema:`https://camunda.com/json-schema/cpt-test-cases/8.9/schema.json`,testCases:[]},added:a,kept:o}}function y(e){return Object.keys(e[`x-penstock`]?.behaviours??{}).length>0}const b=/\.(bpmn20\.xml|bpmn\.xml|bpmn)$/i;function x(e,t){let n=e.replace(/\\/g,`/`),r=`${(n.split(`/`).pop()??n).replace(b,``)}.json`,i=n.indexOf(`/src/main/resources/`);if(i>=0)return`${n.slice(0,i)}/src/test/resources/test-cases/${r}`;let a=n.lastIndexOf(`/`),o=a>=0?n.slice(0,a):null,s=e=>o===null?e:`${o}/${e}`;if(!t)return s(`test-cases/${r}`);let c=t.replace(/\\/g,`/`).replace(/\/+$/,``);return`${c.startsWith(`/`)||/^[A-Za-z]:\//.test(c)?c:s(c)}/${r}`}export{v as a,y as c,p as i,g as l,r as n,c as o,a as r,h as s,o as t,x as u};
|