@kern0x1b/penstock-cli 26.11.0 → 26.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,d as t,h as n,i as r,o as i,r as a,u as o}from"./vendor-NJP34MHU.js";import{i as s}from"./translator-DLDFsUlE.js";import{C as c,S as l}from"./frontend-Qq5hBH0U.js";import{t as u}from"./bridgeInstance-qzSInqLW.js";import{h as d,m as f,s as p}from"./ui-BTKMbWYG.js";import{r as m}from"./moddle-DJxj0oEU.js";import{v as h,y as g}from"./descriptors-B5VIyY5g.js";import{i as _,r as v,t as y}from"./sharedReader-Bopy7Uk9.js";import{C as b,D as x,I as S,O as C,a as w,b as T,c as E,d as D,f as O,i as k,l as A,m as j,n as M,o as N,p as P,s as ee,t as F,u as I,w as L,y as R}from"./migrationHost-BcguK4K5.js";import{o as z,u as B}from"./file-CIeVSOHy.js";import{f as V,h as H,n as U,r as W,u as G}from"./testCaseRuns-B_XdqGFh.js";import{t as K}from"./executable-BTarDLry.js";function notComparable(e,t,n=[]){return{verdict:`not-comparable`,reason:t,orderNote:!1,touches:n,original:e.original.observation,converted:e.converted.observation,mapped:n}}function sameMultiset(e,t){if(e.length!==t.length)return!1;let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);for(let e of t){let t=n.get(e);if(t===void 0||t===0)return!1;n.set(e,t-1)}return!0}function firstDifference(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r+=1)if(e[r]!==t[r])return r;return e.length===t.length?-1:n}function judge(e){let{original:t,converted:n}=e;if(t.observation===null||n.observation===null)return notComparable(e,{code:`unreadable-trace`,detail:(t.observation===null?t:n).message});let r=[];for(let n of t.observation.elements){let t=e.idMap.has(n)?e.idMap.get(n):n;if(t==null)return notComparable(e,{code:`element-removed`,element:n},r);r.push(t)}let i=[...new Set(r)];for(let n of new Set(t.observation.elements)){let t=e.items.get(n);if(t?.risk===`left`)return notComparable(e,{code:`left-as-is`,element:n,detail:t.reasons[0]},i);if(t?.risk===`person`)return notComparable(e,{code:`needs-person`,element:n,detail:t.reasons[0]},i);if(e.delegates.has(n)&&!e.answered.has(n))return notComparable(e,{code:`delegate-unavailable`,element:n},i)}let a=t.observation,o=n.observation,result=(e,t,n)=>({verdict:e,...t?{divergence:t}:{},orderNote:n,touches:i,original:a,converted:o,mapped:r}),s=!1,c=firstDifference(r,o.elements);if(c>=0){if(e.parallel&&sameMultiset(r,o.elements))s=!0;else return result(`differs`,{kind:`element`,index:c,original:r[c]??null,converted:o.elements[c]??null},!1)}if(t.outcome!==n.outcome)return result(`differs`,{kind:`outcome`,original:t.outcome,converted:n.outcome,message:n.outcome===`failed`?n.message:t.message},s);if(a.state!==o.state)return result(`differs`,{kind:`state`,original:a.state,converted:o.state},s);let l=a.incidents.map(t=>e.idMap.has(t)?e.idMap.get(t)??t:t).sort();if(l.join(`\0`)!==o.incidents.join(`\0`))return result(`differs`,{kind:`incident`,original:l,converted:o.incidents},s);let u=new Set([...a.hidden,...o.hidden]),d=[...new Set([...Object.keys(a.variables),...Object.keys(o.variables)])].filter(e=>!u.has(e)).sort();for(let e of d){let t=e in a.variables,n=e in o.variables;if(!t||!n||!C(a.variables[e],o.variables[e]))return result(`differs`,{kind:`variable`,name:e,original:a.variables[e],converted:o.variables[e],missing:t?n?null:`converted`:`original`},s)}return result(`equivalent`,void 0,s)}var q=new Set([`nrOfInstances`,`nrOfCompletedInstances`,`nrOfActiveInstances`,`loopCounter`,`numberOfInstances`,`numberOfCompletedInstances`,`numberOfActiveInstances`]),J=/multi.?instance.?body/i;function startOf(e){let t=Date.parse(e.replace(/([+-]\d\d)(\d\d)$/,`$1:$2`));return Number.isNaN(t)?0:t}function observe(e){if(e.steps.length>5e3)return null;let t=e.steps.map((e,t)=>({step:e,index:t})).filter(({step:e})=>!J.test(e.elementType)&&!e.elementId.endsWith(`#multiInstanceBody`)).sort((e,t)=>startOf(e.step.startedAt)-startOf(t.step.startedAt)||e.index-t.index).map(({step:e})=>e),n=new Map;for(let e of t)for(let t of[...e.in,...e.out,...e.changed])if(!q.has(t.name)){if(!n.has(t.name)&&n.size>=500)return null;n.set(t.name,t.value)}let r=T(Object.fromEntries(n)),i=Object.create(null),a=new Set(r.names);for(let e of Object.keys(r.values).sort())a.has(e)||(i[e]=r.values[e]);return{elements:t.map(e=>e.elementId),state:e.state,variables:i,hidden:[...a].sort(),incidents:[...new Set(e.incidents.map(e=>e.elementId))].sort()}}function totalsOf(e){return{equivalent:e.filter(e=>e.verdict===`equivalent`).length,differs:e.filter(e=>e.verdict===`differs`).length,notComparable:e.filter(e=>e.verdict===`not-comparable`).length}}function skeleton(e){return{file:e.file,diagram:e.diagram,name:e.testCase.name}}function refusedScenario(e,t){return{...skeleton(e),verdict:`not-comparable`,reason:t,orderNote:!1,touches:[],original:null,converted:null}}async function runSide(e,t,n,r,i,a){try{let o=await L(e.testCase,{engine:t.engine,resources:n,runId:r,builds:t.builds,key:t.key,session:i,signal:a.signal,stepTimeoutMs:a.stepTimeoutMs,pollMs:a.pollMs,settleReads:a.settleReads});if(a.signal?.aborted)return{code:`cancelled`};let s=o.result.trace;return{observation:s===null?null:observe(s),outcome:o.result.outcome,...o.result.message?{message:R(o.result.message)}:{}}}catch(e){return{code:`run-failed`,detail:R(e instanceof Error?e.message:String(e))}}}async function runProof(e,t){let n=t.limit??null,r=n===null?e:e.slice(0,n),i=b(),a=b(),o=[];for(let e of r){let n;if(t.signal?.aborted)n=refusedScenario(e,{code:`cancelled`});else if(e.problem)n=refusedScenario(e,e.problem);else{let r=await runSide(e,t.original,e.originalResources,`${t.runId}-a`,i,t),o=`code`in r?r:await runSide(e,t.converted,e.convertedResources,`${t.runId}-b`,a,t);if(`code`in r)n=refusedScenario(e,r);else if(`code`in o)n=refusedScenario(e,o);else{let t=judge({original:r,converted:o,idMap:e.idMap,items:e.items,delegates:e.delegates,answered:e.answered,parallel:e.parallel});n={...skeleton(e),verdict:t.verdict,...t.reason?{reason:t.reason}:{},...t.divergence?{divergence:t.divergence}:{},orderNote:t.orderNote,touches:t.touches,original:t.original,converted:t.converted}}}o.push(n),t.progress?.(n)}return{scenarios:o,totals:totalsOf(o),total:e.length,limited:r.length<e.length}}var Y=60,X=200;function verdictLabel(e){return s(`app.migration.proof.verdict.${e===`not-comparable`?`notComparable`:e}`)}function reasonText(e){return s(`app.migration.proof.reason.${e.code}`,{element:e.element??``,detail:e.detail??``})}function valueText(e){if(e===void 0)return s(`app.migration.proof.noValue`);let t;try{t=JSON.stringify(e)??String(e)}catch{t=String(e)}return t.length>X?`${t.slice(0,X)}...`:t}function traceText(e){if(e===null)return s(`app.migration.proof.noTrace`);let t=e.elements.slice(0,Y).join(` > `);return e.elements.length>Y?`${t} > ...`:t}function divergenceText(e){switch(e.kind){case`element`:return s(`app.migration.proof.divergence.element`,{index:e.index+1,original:e.original??s(`app.migration.proof.theEnd`),converted:e.converted??s(`app.migration.proof.theEnd`)});case`outcome`:return s(`app.migration.proof.divergence.outcome`,{original:e.original,converted:e.converted,message:e.message??``});case`state`:return s(`app.migration.proof.divergence.state`,{original:e.original,converted:e.converted});case`incident`:return s(`app.migration.proof.divergence.incident`,{original:e.original.join(`, `)||s(`app.migration.proof.none`),converted:e.converted.join(`, `)||s(`app.migration.proof.none`)});case`variable`:return s(`app.migration.proof.divergence.variable`,{name:e.name,original:valueText(e.original),converted:valueText(e.converted)})}}function totalsText(e){return s(`app.migration.proof.totals`,{equivalent:e.equivalent,differs:e.differs,notComparable:e.notComparable})}var Z=2e4;function idsOf(e){let t=new Set,n=!1,walk=e=>{for(let r of e??[]){if(n)return;typeof r.id==`string`&&t.add(r.id),t.size>Z&&(n=!0),walk(r.flowElements)}};for(let n of e?.rootElements??[])n.$type===`bpmn:Process`&&(typeof n.id==`string`&&t.add(n.id),walk(n.flowElements));return n?null:t}async function idMapOf(e,t){let[n,r]=await Promise.all([m(e),m(t)]);if(!n||!r)return null;let i=idsOf(n),a=idsOf(r);return i===null||a===null?null:new Map([...i].sort().map(e=>[e,a.has(e)?e:null]))}function hostOf(e){try{return e?new URL(e).host:``}catch{return``}}function endpointRefusals(e,t,n){let r=s(`app.migration.proof.side.${e}`);return t===null?[s(`app.migration.proof.refusal.noEngine`,{side:r,profile:n??s(`app.migration.proof.defaultProfile`)})]:(e===`original`?h(t.name):g(t.name))?t.forTests?[]:[s(`app.migration.proof.refusal.notForTests`,{side:r,where:hostOf(t.url)||t.name})]:[s(`app.migration.proof.refusal.wrongFamily.${e}`,{engine:t.name})]}function segmentMatches(e,t){let n=0,r=0,i=-1,a=0;for(;r<t.length;)if(n<e.length&&(e[n]===`?`||e[n]===t[r]))n+=1,r+=1;else if(n<e.length&&e[n]===`*`)i=n,a=r,n+=1;else if(i>=0)n=i+1,a+=1,r=a;else return!1;for(;n<e.length&&e[n]===`*`;)n+=1;return n===e.length}function globMatches(e,t){if(e.length===0||e.length>256||t.length>4096)return!1;let n=e.replace(/\\/g,`/`).split(`/`).filter(e=>e!==``&&e!==`.`),r=t.replace(/\\/g,`/`).split(`/`).filter(e=>e!==``&&e!==`.`),i=Array.from({length:n.length+1},()=>Array(r.length+1).fill(!1));i[0][0]=!0;for(let e=0;e<=n.length;e+=1)for(let t=0;t<=r.length;t+=1)i[e][t]&&e!==n.length&&(n[e]===`**`?(i[e+1][t]=!0,t<r.length&&(i[e][t+1]=!0)):t<r.length&&segmentMatches(n[e],r[t])&&(i[e+1][t+1]=!0));return i[n.length][r.length]}var Q=20,te=/\.bpmn(\.xml|20\.xml)?$/i,ne=/<(?:[\w-]+:)?(?:parallelGateway|inclusiveGateway|eventBasedGateway|complexGateway)\b|multiInstanceLoopCharacteristics|triggeredByEvent="true"/;function answeredOf(e){let t=new Set(Object.keys(e[`x-penstock`]?.behaviours??{}));for(let n of e.instructions){if(n.type!==`COMPLETE_JOB`&&n.type!==`THROW_BPMN_ERROR_FROM_JOB`)continue;let e=n.jobSelector?.elementId;typeof e==`string`&&t.add(e)}return t}function candidatesOf(e){return e.map(e=>({path:e.path,read:async()=>e.text}))}function nameList(e){return`${e.slice(0,Q).map(e=>e.element===``?s(`app.migration.proof.unreadableFile`):`${e.element} (${e.kind})`).join(`, `)}${e.length>Q?`, +${e.length-Q}`:``}`}function displayOf(e,t){return _(e,t).split(`\\`).join(`/`)}async function prepareCases(e){let t=e.target??`8.8`,n=e.root,r=e.files,i=O(r),a=[],o=new Map,c=new Map,l=[],u=[],d=0;for(let e of r){let r=await j(e.path,e.text,{target:t,forms:i});if(!r||!r.ok){r&&u.push({kind:`other`,element:``}),a.push(e);continue}if(!r.source){a.push(e);continue}d+=1,a.push({path:e.path,text:r.text});for(let t of r.extraFiles)a.push({path:P(e.path,t.name),text:t.content});let s=displayOf(n,e.path),f=ee(s,r,e.text);l.push(...f),o.set(e.path,new Map(f.flatMap(e=>e.elementId?[[e.elementId,e]]:[]))),c.set(e.path,{all:new Set(r.delegates.filter(e=>e.kind!==`topic`).map(e=>e.elementId)),task:new Set(r.delegates.filter(e=>e.kind!==`topic`&&e.role===`task`).map(e=>e.elementId))}),r.kind===`bpmn`?u.push(...await K(e.text,r.text)):r.text!==e.text&&u.push({kind:`other`,element:s})}if(d===0)return{refused:[s(`app.migration.proof.refusal.nothing`)]};if(u.length>0&&e.runUnreviewed!==!0)return{refused:[s(`app.migration.proof.refusal.executable`,{count:u.length,list:nameList(u)}),s(`app.migration.proof.refusal.executableHint`)],added:u};let f=[];for(let t of r.filter(e=>te.test(e.path))){let n=B(t.path);if(f.some(e=>e.cases===n))continue;let r=e.caseFile(n);r!==null&&f.push({cases:n,diagram:t.path,text:r})}let p=f.filter(t=>e.scenarios===void 0||globMatches(e.scenarios,displayOf(n,t.cases))).slice(0,500),m=[];for(let e of p){let t=displayOf(n,e.cases),i=displayOf(n,e.diagram),reject=e=>({file:t,diagram:i,testCase:{name:t,instructions:[]},originalResources:[],convertedResources:[],idMap:new Map,items:new Map,delegates:new Set,answered:new Set,parallel:!1,problem:e});if(e.text===null||e.text.length>2097152){m.push(reject({code:`unreadable-case`,detail:s(`app.migration.proof.caseFileUnreadable`)}));continue}let l=z(e.text);if(l.file===null){m.push(reject({code:`unreadable-case`,detail:R(l.problems.join(`; `))}));continue}let u=r.find(t=>t.path===e.diagram),d=a.find(t=>t.path===e.diagram);if(!u||!d||!c.has(e.diagram)){m.push(reject({code:`no-converted`}));continue}let f=await idMapOf(u.text,d.text);if(f===null){m.push(reject({code:`unreadable-trace`,detail:s(`app.migration.proof.idMapUnreadable`)}));continue}let p=await H({path:u.path,content:u.text},candidatesOf(r)),h=await H({path:d.path,content:d.text},candidatesOf(a)),g=c.get(e.diagram)??{all:new Set,task:new Set};for(let n of l.file.testCases){if(m.length>=2e3)break;let r=new Set([...answeredOf(n)].filter(e=>g.task.has(e)));m.push({file:t,diagram:i,testCase:n,originalResources:p,convertedResources:h,idMap:f,items:o.get(e.diagram)??new Map,delegates:g.all,answered:r,parallel:ne.test(u.text)})}}return{cases:m,added:u,items:l}}function groupByFile(e){let t=new Map;for(let n of e){let e=t.get(n.path)??[];e.push(n),t.set(n.path,e)}return[...t.entries()].map(([e,t])=>({path:e,items:t}))}function rejectedFrom(e,t){if(t===null)return new Set;let n=new Set(t.only),r=new Set(t.exclude),i=new Set;for(let t of e){let listed=e=>e.has(t.id)||t.kind===`element`&&e.has(t.path);n.size>0&&!listed(n)&&i.add(t.id),listed(r)&&i.add(t.id)}return i}function acceptedItems(e,t){return e.filter(e=>!t.has(e.id))}function selectionToApply(e,t){let n=acceptedItems(e,t);return n.length===0?null:{only:new Set(n.map(e=>e.id))}}function selectionToSave(e,t){return{only:[],exclude:e.filter(e=>t.has(e.id)).map(e=>e.id).sort()}}function withToggled(e,t,n){let r=new Set(e);for(let e of t)n?r.delete(e):r.add(e);return r}function scenariosFor(e,t){return e.elementId===null?[]:t.filter(t=>t.diagram===e.path&&(t.touches.includes(e.elementId)||t.reason?.element===e.elementId))}function verdictClass(e){return e===`not-comparable`?`not-comparable`:e}function Change({before:e,after:t}){return a(`div`,{class:`migration__change`,children:[a(`code`,{class:`migration__before`,"aria-label":s(`app.migration.workspace.before`),children:e}),a(`code`,{class:`migration__after`,"aria-label":s(`app.migration.workspace.after`),children:t})]})}function Verdicts({scenarios:e}){return e.length===0?null:a(`span`,{class:`migration__verdicts`,children:e.map((e,t)=>a(`span`,{class:`migration__verdict is-${verdictClass(e.verdict)}`,title:`${e.file} › ${e.name}`,children:verdictLabel(e.verdict)},t))})}function Row({item:e,accepted:t,onToggle:n,host:r,proven:i}){let o=e.elementId??s(`app.migration.workspace.kind.${e.kind}`);return a(`li`,{class:`migration__item${t?``:` is-rejected`}`,children:[a(`label`,{class:`migration__pick`,children:[a(`input`,{type:`checkbox`,checked:t,"aria-label":s(`app.migration.workspace.accept`,{name:o}),onChange:e=>n(e.currentTarget.checked)}),e.elementId===null?a(`span`,{children:o}):a(`button`,{type:`button`,class:`migration__link`,title:s(`app.migration.workspace.open`,{name:o}),onClick:t=>{t.preventDefault(),r.open(e.path,e.elementId)},children:o})]}),a(`span`,{class:`migration__risk is-${e.risk}`,children:s(`app.migration.risk.${e.risk}`)}),a(Verdicts,{scenarios:i}),a(`div`,{class:`migration__details`,children:[e.reasons.map((e,t)=>a(`p`,{class:`migration__reason type-help`,children:e},t)),e.changes.length===0&&a(`p`,{class:`migration__reason type-help`,children:s(`app.migration.workspace.noChanges`)}),e.changes.map((e,t)=>a(Change,{before:e.before,after:e.after},t))]})]})}function Group({group:e,rejected:t,toggle:n,host:i,scenarios:c}){let l=e.items.map(e=>e.id),u=l.every(e=>!t.has(e)),d=l.some(e=>!t.has(e)),f=r(null);return o(()=>{f.current&&(f.current.indeterminate=d&&!u)},[d,u]),a(`section`,{class:`migration__file`,children:[a(`h3`,{class:`migration__heading type-section-heading`,children:a(`label`,{class:`migration__pick`,children:[a(`input`,{ref:f,type:`checkbox`,checked:u,"aria-label":s(`app.migration.workspace.acceptFile`,{file:v(e.path)}),onChange:e=>n(l,e.currentTarget.checked)}),a(`span`,{title:e.path,children:e.path})]})}),a(`ul`,{class:`migration__list`,children:e.items.map(e=>a(Row,{item:e,accepted:!t.has(e.id),onToggle:t=>n([e.id],t),host:i,proven:scenariosFor(e,c)},e.id))})]})}function ScenarioRow({scenario:e}){return a(`li`,{class:`migration__scenario`,children:[a(`span`,{class:`migration__verdict is-${verdictClass(e.verdict)}`,children:verdictLabel(e.verdict)}),a(`span`,{class:`migration__scenario-name`,children:`${e.file} › ${e.name}`}),e.reason&&a(`p`,{class:`migration__reason type-help`,children:reasonText(e.reason)}),e.divergence&&a(`p`,{class:`migration__reason type-help`,children:divergenceText(e.divergence)}),e.verdict===`differs`&&a(`dl`,{class:`migration__traces type-help`,children:[a(`dt`,{children:s(`app.migration.proof.originalTrace`)}),a(`dd`,{children:traceText(e.original)}),a(`dt`,{children:s(`app.migration.proof.convertedTrace`)}),a(`dd`,{children:traceText(e.converted)})]})]})}var $={running:!1,scenarios:[],outcome:null,failure:null};function EnginePick({label:e,value:t,choices:n,onChange:r}){return a(`label`,{class:`migration__control type-help`,children:[a(`span`,{children:e}),a(`select`,{class:`ui-select`,value:t??``,onChange:e=>r(e.target.value||null),children:n.map(e=>a(`option`,{value:e.profile??``,children:e.label},e.profile??``))})]})}function Proof({read:i,host:o,view:c,setView:l,onUnlocked:u}){let d=i.engines.filter(e=>e.family===`camunda-7`&&e.forTests),f=i.engines.filter(e=>e.family===`camunda-8`&&e.forTests),[p,m]=e(d[0]?.profile??null),[h,g]=e(f[0]?.profile??null),[_,v]=e(``),y=r(null),b=d.length>0&&f.length>0,x=t(async e=>{let t=new AbortController;y.current=t;let n=[];l({running:!0,scenarios:[],outcome:null,failure:null});try{let r=await o.prove({original:p,converted:h,scenarios:_.trim()===``?null:_.trim(),unreviewed:e},t.signal,e=>{n.push(e),l({running:!0,scenarios:[...n],outcome:null,failure:null})});l({running:!1,scenarios:r.kind===`done`?r.report.scenarios:[],outcome:r,failure:null})}catch(e){l({running:!1,scenarios:n,outcome:null,failure:e instanceof Error?e.message:String(e)})}},[o,p,h,_,l]),S=c.outcome,C=S?.kind===`done`?S.report:null,w=totalsOf(c.scenarios);return a(`section`,{class:`migration__proof`,children:[a(`h3`,{class:`migration__heading type-section-heading`,children:s(`app.migration.workspace.proof.title`)}),a(`p`,{class:`migration__help type-help`,children:s(`app.migration.workspace.proof.help`)}),!b&&a(`p`,{class:`migration__note type-help`,children:s(`app.migration.workspace.proof.noEngines`)}),b&&a(`div`,{class:`migration__controls`,children:[a(EnginePick,{label:s(`app.migration.workspace.proof.originalEngine`),value:p,choices:d,onChange:m}),a(EnginePick,{label:s(`app.migration.workspace.proof.convertedEngine`),value:h,choices:f,onChange:g}),a(`label`,{class:`migration__control type-help`,children:[a(`span`,{children:s(`app.migration.workspace.proof.scenarios`)}),a(`input`,{class:`ui-input`,value:_,placeholder:`flows/**/*.json`,onInput:e=>v(e.currentTarget.value)})]})]}),a(`div`,{class:`migration__actions`,children:[!c.running&&a(`button`,{type:`button`,class:`ui-button`,disabled:!b,onClick:()=>void x(!1),children:s(`app.migration.workspace.proof.run`)}),c.running&&a(`button`,{type:`button`,class:`ui-button`,onClick:()=>y.current?.abort(),children:s(`app.migration.workspace.proof.stop`)}),c.running&&a(`span`,{class:`migration__note type-help`,role:`status`,children:s(`app.migration.workspace.proof.running`,{count:c.scenarios.length})})]}),c.failure!==null&&a(`p`,{class:`migration__error type-help`,role:`alert`,children:s(`app.migration.workspace.proof.failed`,{reason:c.failure})}),S?.kind===`refused`&&a(`div`,{class:`migration__refusal`,role:`alert`,children:[S.added.length>0&&a(`h4`,{class:`migration__refusal-title type-section-heading`,children:s(`app.migration.workspace.proof.executable.title`)}),S.lines.map((e,t)=>a(`p`,{class:`migration__reason type-help`,children:e},t)),S.added.length>0&&a(n,{children:[a(`ul`,{class:`migration__added`,children:S.added.map((e,t)=>a(`li`,{children:e.element===``?s(`app.migration.proof.unreadableFile`):`${e.element} (${e.kind})`},t))}),a(`button`,{type:`button`,class:`ui-button`,onClick:()=>void x(!0),children:s(`app.migration.workspace.proof.executable.run`)})]})]}),(C!==null||c.scenarios.length>0)&&a(`div`,{class:`migration__banner`,role:`status`,"data-exit":w.differs>0?`1`:w.notComparable>0||c.scenarios.length===0?`2`:`0`,children:[a(`strong`,{children:totalsText(w)}),S?.kind===`done`&&S.unreviewed&&a(`span`,{class:`type-help`,children:s(`app.migration.workspace.proof.ranUnreviewed`)}),C?.limited&&S?.kind===`done`&&!S.paid&&a(`span`,{class:`type-help`,children:[s(`app.migration.proof.freePreview`,{shown:C.scenarios.length,total:C.total}),` `,a(`button`,{type:`button`,class:`migration__link`,onClick:()=>void o.unlock().then(e=>e&&u()),children:s(`app.migration.workspace.proof.unlock`)})]}),C!==null&&C.total===0&&a(`span`,{class:`type-help`,children:s(`app.migration.proof.noScenarios`)})]}),c.scenarios.length>0&&a(`ul`,{class:`migration__scenarios`,children:c.scenarios.map((e,t)=>a(ScenarioRow,{scenario:e},t))})]})}function MigrationScreen({host:n}){let[i,c]=e(null),[l,u]=e(!1),[d,f]=e(new Set),[m,h]=e(null),[g,_]=e(!1),[v,y]=e($),b=r(!0),x=t(()=>{let e=!0;return n.load().then(t=>{e&&(c(t),u(!1),f(e=>b.current?rejectedFrom(t.items,t.saved):new Set([...e].filter(e=>t.items.some(t=>t.id===e)))),b.current=!1)}).catch(()=>e&&u(!0)),()=>{e=!1}},[n]);if(o(()=>x(),[x]),l&&!i)return a(p,{title:s(`app.migration.workspace.failed.title`),hint:s(`app.migration.workspace.failed.hint`)});if(!i)return a(`p`,{class:`migration__note type-help`,children:s(`app.migration.workspace.loading`)});if(!i.source||i.items.length===0)return a(p,{title:s(`app.migration.workspace.empty.title`),hint:s(`app.migration.workspace.empty.hint`)});let S=N(i.items,e=>!d.has(e.id)),C=acceptedItems(i.items,d),w=groupByFile(i.items),apply=async()=>{let e=selectionToApply(i.items,d);if(!(e===null||g)){_(!0),h(null);try{let t=await n.apply(e);h(s(`app.migration.workspace.outcome.${t}`)),t===`applied`&&(y($),b.current=!1,x())}finally{_(!1)}}},save=async()=>{let e=await n.save(selectionToSave(i.items,d));h(s(e?`app.migration.workspace.saved`:`app.migration.workspace.saveFailed`))};return a(`div`,{class:`migration`,children:[a(`header`,{class:`migration__header`,children:[a(`p`,{class:`migration__help type-help`,children:s(`app.migration.workspace.help`)}),i.savedProblem&&a(`p`,{class:`migration__note type-help`,children:s(`app.migration.selection.unreadable`)}),a(`div`,{class:`migration__legend`,children:[`automatic`,`changed`,`person`,`left`].map(e=>a(`span`,{class:`migration__risk is-${e}`,children:`${s(`app.migration.risk.${e}`)}: ${S.byRisk[e]}`},e))})]}),a(`div`,{class:`migration__bar`,children:[a(`span`,{class:`migration__count`,role:`status`,children:s(`app.migration.workspace.summary`,{accepted:S.accepted,total:i.items.length,hours:(S.minutes/60).toFixed(1)})}),a(`button`,{type:`button`,class:`ui-button`,onClick:()=>f(new Set),children:s(`app.migration.workspace.acceptAll`)}),a(`button`,{type:`button`,class:`ui-button`,onClick:()=>f(new Set(i.items.map(e=>e.id))),children:s(`app.migration.workspace.rejectAll`)}),a(`button`,{type:`button`,class:`ui-button`,onClick:()=>void save(),children:s(`app.migration.workspace.save`)}),a(`button`,{type:`button`,class:`ui-button ui-button--primary`,disabled:C.length===0||g,onClick:()=>void apply(),children:s(`app.migration.workspace.apply`)})]}),m!==null&&a(`p`,{class:`migration__notice type-help`,role:`status`,children:m}),w.map(e=>a(Group,{group:e,rejected:d,toggle:(e,t)=>f(n=>withToggled(n,e,t)),host:n,scenarios:v.scenarios},e.path)),a(Proof,{read:i,host:n,view:v,setView:y,onUnlocked:()=>y($)})]})}var re=500;function family(e){return h(e)?`camunda-7`:g(e)?`camunda-8`:`other`}async function inputOf(){let e=await y.read(),t=S(await D(e.diagrams).catch(e=>(console.error(`The migration could not read the delegates:`,e),[]))),n=await y.code(t);return{root:e.root,input:{files:e.diagrams,classes:n?.structure?.classes??[],camunda7Imports:n?.structure?.camunda7Imports??[],index:I(n)}}}async function enginesOf(e,t){try{return((await e.getDeployTargets(t??void 0))?.targets??[]).map(e=>({profile:e.profile??null,label:`${e.profile??s(`app.migration.proof.defaultProfile`)} · ${String(e.engine??``)}`,family:family(e.engine),forTests:e.deployment?.forTests===!0}))}catch{return[]}}function normal(e){return e.replace(/\\/g,`/`)}async function caseTexts(e){let t=((await e.getProjectFiles())?.testCases??[]).slice(0,re),n=new Map;for(let r of t){let t=await e.readFileIfPresent(r.path).catch(()=>null);t!==null&&n.set(normal(r.path),t)}return n}function bridgeMigrationHost(e=u()){let t=``,hostOf=()=>F(e,async()=>t);return{load:async()=>{let{input:n,root:r}=await inputOf();t=r;let i=await k(hostOf(),n),a=await e.readFileIfPresent(`${r.replace(/[\\/]+$/,``)}/${w}`).catch(()=>null),o=a===null?null:E(a);return{root:r,source:i.plan.source,items:i.plan.items,saved:o,savedProblem:a!==null&&o===null,engines:await enginesOf(e,n.files[0]?.path??null)}},apply:async n=>{let{input:r,root:i}=await inputOf();return t=i,M({...hostOf(),confirm:t=>e.confirmWithUser(t)},r,`spring`,n)},save:async n=>{let r=t.replace(/[\\/]+$/,``),i=`${r}/${w}`,a=A(n);try{return await e.readFileIfPresent(i)===null?await e.createProjectFiles(r,[{path:w,content:a}]):await e.saveFile(i,a),!0}catch(e){return console.error(`The selection was not saved:`,e),!1}},open:(n,r)=>{let i=t===``?n:`${t.replace(/[\\/]+$/,``)}/${n}`;e.revealElement(i,r??void 0).catch(e=>console.error(`The file did not open:`,e))},unlock:()=>e.requestFeature(c.MIGRATION_PROOF).catch(()=>!1),prove:async(n,r,i)=>{let{input:a,root:o}=await inputOf();t=o;let c=a.files[0]?.path??null,u=await G(c,n.original,e),d=await G(c,n.converted,e),named=e=>e?{name:String(e.engine),url:e.url,forTests:e.forTests}:null,f=[...endpointRefusals(`original`,named(u),n.original??void 0),...endpointRefusals(`converted`,named(d),n.converted??void 0)];if(u&&d&&u.url!==null&&u.url===d.url&&f.push(s(`app.migration.proof.refusal.sameEngine`)),f.length>0||!u||!d)return{kind:`refused`,lines:f,added:[]};let p=await caseTexts(e),m=await prepareCases({root:o,files:a.files.map(e=>({path:e.path,text:e.text})),scenarios:n.scenarios??void 0,runUnreviewed:n.unreviewed,caseFile:e=>p.get(normal(e))??null});if(`refused`in m)return{kind:`refused`,lines:m.refused,added:m.added??[]};let h=await e.getLicense().catch(()=>null),g=h!==null&&h.tier!==l.FREE;return{kind:`done`,report:await runProof(m.cases,{runId:x(new Date),original:{engine:W(u,c,e),builds:U(u),key:V(u)},converted:{engine:W(d,c,e),builds:U(d),key:V(d)},signal:r,limit:g?null:3,progress:i}),paid:g,unreviewed:m.added.length>0}}}}function MigrationDialog({onClose:e}){let t=i(()=>bridgeMigrationHost(),[]);return a(f,{title:s(`app.migration.workspace.title`),size:`xlarge`,class:`migration-dialog`,onClose:e,footer:a(d,{actions:[{id:`done`,label:s(`app.common.done`),role:`primary`,onClick:e}]}),children:a(MigrationScreen,{host:t})})}export{MigrationDialog};
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,d as t,h as n,i as r,o as i,r as a,u as o}from"./vendor-NJP34MHU.js";import{i as s}from"./translator-BLCeE6UY.js";import{h as c,m as l,s as u}from"./ui-BLtm3Y1J.js";import{C as d,D as f,I as p,O as m,a as h,b as g,c as _,d as v,f as y,i as b,l as x,m as S,n as C,o as w,p as T,s as E,t as D,u as O,w as k,y as A}from"./migrationHost-DCWBb3L6.js";import{i as ee,r as j,t as M}from"./sharedReader-BsXfiBT8.js";import{v as N,y as P}from"./descriptors-B5VIyY5g.js";import{t as F}from"./executable--4381_Lf.js";import{o as I,u as L}from"./file-BbVBUuIH.js";import{f as R,h as z,n as B,r as V,u as H}from"./testCaseRuns-liAhWMg7.js";import{r as U}from"./moddle-f0Q4Guwd.js";import{C as W,S as G}from"./frontend-uXAWaalt.js";import{t as K}from"./bridgeInstance-qzSInqLW.js";function notComparable(e,t,n=[]){return{verdict:`not-comparable`,reason:t,orderNote:!1,touches:n,original:e.original.observation,converted:e.converted.observation,mapped:n}}function sameMultiset(e,t){if(e.length!==t.length)return!1;let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);for(let e of t){let t=n.get(e);if(t===void 0||t===0)return!1;n.set(e,t-1)}return!0}function firstDifference(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r+=1)if(e[r]!==t[r])return r;return e.length===t.length?-1:n}function judge(e){let{original:t,converted:n}=e;if(t.observation===null||n.observation===null)return notComparable(e,{code:`unreadable-trace`,detail:(t.observation===null?t:n).message});let r=[];for(let n of t.observation.elements){let t=e.idMap.has(n)?e.idMap.get(n):n;if(t==null)return notComparable(e,{code:`element-removed`,element:n},r);r.push(t)}let i=[...new Set(r)];for(let n of new Set(t.observation.elements)){let t=e.items.get(n);if(t?.risk===`left`)return notComparable(e,{code:`left-as-is`,element:n,detail:t.reasons[0]},i);if(t?.risk===`person`)return notComparable(e,{code:`needs-person`,element:n,detail:t.reasons[0]},i);if(e.delegates.has(n)&&!e.answered.has(n))return notComparable(e,{code:`delegate-unavailable`,element:n},i)}let a=t.observation,o=n.observation,result=(e,t,n)=>({verdict:e,...t?{divergence:t}:{},orderNote:n,touches:i,original:a,converted:o,mapped:r}),s=!1,c=firstDifference(r,o.elements);if(c>=0){if(e.parallel&&sameMultiset(r,o.elements))s=!0;else return result(`differs`,{kind:`element`,index:c,original:r[c]??null,converted:o.elements[c]??null},!1)}if(t.outcome!==n.outcome)return result(`differs`,{kind:`outcome`,original:t.outcome,converted:n.outcome,message:n.outcome===`failed`?n.message:t.message},s);if(a.state!==o.state)return result(`differs`,{kind:`state`,original:a.state,converted:o.state},s);let l=a.incidents.map(t=>e.idMap.has(t)?e.idMap.get(t)??t:t).sort();if(l.join(`\0`)!==o.incidents.join(`\0`))return result(`differs`,{kind:`incident`,original:l,converted:o.incidents},s);let u=new Set([...a.hidden,...o.hidden]),d=[...new Set([...Object.keys(a.variables),...Object.keys(o.variables)])].filter(e=>!u.has(e)).sort();for(let e of d){let t=e in a.variables,n=e in o.variables;if(!t||!n||!m(a.variables[e],o.variables[e]))return result(`differs`,{kind:`variable`,name:e,original:a.variables[e],converted:o.variables[e],missing:t?n?null:`converted`:`original`},s)}return result(`equivalent`,void 0,s)}var q=new Set([`nrOfInstances`,`nrOfCompletedInstances`,`nrOfActiveInstances`,`loopCounter`,`numberOfInstances`,`numberOfCompletedInstances`,`numberOfActiveInstances`]),J=/multi.?instance.?body/i;function startOf(e){let t=Date.parse(e.replace(/([+-]\d\d)(\d\d)$/,`$1:$2`));return Number.isNaN(t)?0:t}function observe(e){if(e.steps.length>5e3)return null;let t=e.steps.map((e,t)=>({step:e,index:t})).filter(({step:e})=>!J.test(e.elementType)&&!e.elementId.endsWith(`#multiInstanceBody`)).sort((e,t)=>startOf(e.step.startedAt)-startOf(t.step.startedAt)||e.index-t.index).map(({step:e})=>e),n=new Map;for(let e of t)for(let t of[...e.in,...e.out,...e.changed])if(!q.has(t.name)){if(!n.has(t.name)&&n.size>=500)return null;n.set(t.name,t.value)}let r=g(Object.fromEntries(n)),i=Object.create(null),a=new Set(r.names);for(let e of Object.keys(r.values).sort())a.has(e)||(i[e]=r.values[e]);return{elements:t.map(e=>e.elementId),state:e.state,variables:i,hidden:[...a].sort(),incidents:[...new Set(e.incidents.map(e=>e.elementId))].sort()}}function totalsOf(e){return{equivalent:e.filter(e=>e.verdict===`equivalent`).length,differs:e.filter(e=>e.verdict===`differs`).length,notComparable:e.filter(e=>e.verdict===`not-comparable`).length}}function skeleton(e){return{file:e.file,diagram:e.diagram,name:e.testCase.name}}function refusedScenario(e,t){return{...skeleton(e),verdict:`not-comparable`,reason:t,orderNote:!1,touches:[],original:null,converted:null}}async function runSide(e,t,n,r,i,a){try{let o=await k(e.testCase,{engine:t.engine,resources:n,runId:r,builds:t.builds,key:t.key,session:i,signal:a.signal,stepTimeoutMs:a.stepTimeoutMs,pollMs:a.pollMs,settleReads:a.settleReads});if(a.signal?.aborted)return{code:`cancelled`};let s=o.result.trace;return{observation:s===null?null:observe(s),outcome:o.result.outcome,...o.result.message?{message:A(o.result.message)}:{}}}catch(e){return{code:`run-failed`,detail:A(e instanceof Error?e.message:String(e))}}}async function runProof(e,t){let n=t.limit??null,r=n===null?e:e.slice(0,n),i=d(),a=d(),o=[];for(let e of r){let n;if(t.signal?.aborted)n=refusedScenario(e,{code:`cancelled`});else if(e.problem)n=refusedScenario(e,e.problem);else{let r=await runSide(e,t.original,e.originalResources,`${t.runId}-a`,i,t),o=`code`in r?r:await runSide(e,t.converted,e.convertedResources,`${t.runId}-b`,a,t);if(`code`in r)n=refusedScenario(e,r);else if(`code`in o)n=refusedScenario(e,o);else{let t=judge({original:r,converted:o,idMap:e.idMap,items:e.items,delegates:e.delegates,answered:e.answered,parallel:e.parallel});n={...skeleton(e),verdict:t.verdict,...t.reason?{reason:t.reason}:{},...t.divergence?{divergence:t.divergence}:{},orderNote:t.orderNote,touches:t.touches,original:t.original,converted:t.converted}}}o.push(n),t.progress?.(n)}return{scenarios:o,totals:totalsOf(o),total:e.length,limited:r.length<e.length}}var Y=60,X=200;function verdictLabel(e){return s(`app.migration.proof.verdict.${e===`not-comparable`?`notComparable`:e}`)}function reasonText(e){return s(`app.migration.proof.reason.${e.code}`,{element:e.element??``,detail:e.detail??``})}function valueText(e){if(e===void 0)return s(`app.migration.proof.noValue`);let t;try{t=JSON.stringify(e)??String(e)}catch{t=String(e)}return t.length>X?`${t.slice(0,X)}...`:t}function traceText(e){if(e===null)return s(`app.migration.proof.noTrace`);let t=e.elements.slice(0,Y).join(` > `);return e.elements.length>Y?`${t} > ...`:t}function divergenceText(e){switch(e.kind){case`element`:return s(`app.migration.proof.divergence.element`,{index:e.index+1,original:e.original??s(`app.migration.proof.theEnd`),converted:e.converted??s(`app.migration.proof.theEnd`)});case`outcome`:return s(`app.migration.proof.divergence.outcome`,{original:e.original,converted:e.converted,message:e.message??``});case`state`:return s(`app.migration.proof.divergence.state`,{original:e.original,converted:e.converted});case`incident`:return s(`app.migration.proof.divergence.incident`,{original:e.original.join(`, `)||s(`app.migration.proof.none`),converted:e.converted.join(`, `)||s(`app.migration.proof.none`)});case`variable`:return s(`app.migration.proof.divergence.variable`,{name:e.name,original:valueText(e.original),converted:valueText(e.converted)})}}function totalsText(e){return s(`app.migration.proof.totals`,{equivalent:e.equivalent,differs:e.differs,notComparable:e.notComparable})}var Z=2e4;function idsOf(e){let t=new Set,n=!1,walk=e=>{for(let r of e??[]){if(n)return;typeof r.id==`string`&&t.add(r.id),t.size>Z&&(n=!0),walk(r.flowElements)}};for(let n of e?.rootElements??[])n.$type===`bpmn:Process`&&(typeof n.id==`string`&&t.add(n.id),walk(n.flowElements));return n?null:t}async function idMapOf(e,t){let[n,r]=await Promise.all([U(e),U(t)]);if(!n||!r)return null;let i=idsOf(n),a=idsOf(r);return i===null||a===null?null:new Map([...i].sort().map(e=>[e,a.has(e)?e:null]))}function hostOf(e){try{return e?new URL(e).host:``}catch{return``}}function endpointRefusals(e,t,n){let r=s(`app.migration.proof.side.${e}`);return t===null?[s(`app.migration.proof.refusal.noEngine`,{side:r,profile:n??s(`app.migration.proof.defaultProfile`)})]:(e===`original`?N(t.name):P(t.name))?t.forTests?[]:[s(`app.migration.proof.refusal.notForTests`,{side:r,where:hostOf(t.url)||t.name})]:[s(`app.migration.proof.refusal.wrongFamily.${e}`,{engine:t.name})]}function segmentMatches(e,t){let n=0,r=0,i=-1,a=0;for(;r<t.length;)if(n<e.length&&(e[n]===`?`||e[n]===t[r]))n+=1,r+=1;else if(n<e.length&&e[n]===`*`)i=n,a=r,n+=1;else if(i>=0)n=i+1,a+=1,r=a;else return!1;for(;n<e.length&&e[n]===`*`;)n+=1;return n===e.length}function globMatches(e,t){if(e.length===0||e.length>256||t.length>4096)return!1;let n=e.replace(/\\/g,`/`).split(`/`).filter(e=>e!==``&&e!==`.`),r=t.replace(/\\/g,`/`).split(`/`).filter(e=>e!==``&&e!==`.`),i=Array.from({length:n.length+1},()=>Array(r.length+1).fill(!1));i[0][0]=!0;for(let e=0;e<=n.length;e+=1)for(let t=0;t<=r.length;t+=1)i[e][t]&&e!==n.length&&(n[e]===`**`?(i[e+1][t]=!0,t<r.length&&(i[e][t+1]=!0)):t<r.length&&segmentMatches(n[e],r[t])&&(i[e+1][t+1]=!0));return i[n.length][r.length]}var Q=20,te=/\.bpmn(\.xml|20\.xml)?$/i,ne=/<(?:[\w-]+:)?(?:parallelGateway|inclusiveGateway|eventBasedGateway|complexGateway)\b|multiInstanceLoopCharacteristics|triggeredByEvent="true"/;function answeredOf(e){let t=new Set(Object.keys(e[`x-penstock`]?.behaviours??{}));for(let n of e.instructions){if(n.type!==`COMPLETE_JOB`&&n.type!==`THROW_BPMN_ERROR_FROM_JOB`)continue;let e=n.jobSelector?.elementId;typeof e==`string`&&t.add(e)}return t}function candidatesOf(e){return e.map(e=>({path:e.path,read:async()=>e.text}))}function nameList(e){return`${e.slice(0,Q).map(e=>e.element===``?s(`app.migration.proof.unreadableFile`):`${e.element} (${e.kind})`).join(`, `)}${e.length>Q?`, +${e.length-Q}`:``}`}function displayOf(e,t){return ee(e,t).split(`\\`).join(`/`)}async function prepareCases(e){let t=e.target??`8.8`,n=e.root,r=e.files,i=y(r),a=[],o=new Map,c=new Map,l=[],u=[],d=0;for(let e of r){let r=await S(e.path,e.text,{target:t,forms:i});if(!r||!r.ok){r&&u.push({kind:`other`,element:``}),a.push(e);continue}if(!r.source){a.push(e);continue}d+=1,a.push({path:e.path,text:r.text});for(let t of r.extraFiles)a.push({path:T(e.path,t.name),text:t.content});let s=displayOf(n,e.path),f=E(s,r,e.text);l.push(...f),o.set(e.path,new Map(f.flatMap(e=>e.elementId?[[e.elementId,e]]:[]))),c.set(e.path,{all:new Set(r.delegates.filter(e=>e.kind!==`topic`).map(e=>e.elementId)),task:new Set(r.delegates.filter(e=>e.kind!==`topic`&&e.role===`task`).map(e=>e.elementId))}),r.kind===`bpmn`?u.push(...await F(e.text,r.text)):r.text!==e.text&&u.push({kind:`other`,element:s})}if(d===0)return{refused:[s(`app.migration.proof.refusal.nothing`)]};if(u.length>0&&e.runUnreviewed!==!0)return{refused:[s(`app.migration.proof.refusal.executable`,{count:u.length,list:nameList(u)}),s(`app.migration.proof.refusal.executableHint`)],added:u};let f=[];for(let t of r.filter(e=>te.test(e.path))){let n=L(t.path);if(f.some(e=>e.cases===n))continue;let r=e.caseFile(n);r!==null&&f.push({cases:n,diagram:t.path,text:r})}let p=f.filter(t=>e.scenarios===void 0||globMatches(e.scenarios,displayOf(n,t.cases))).slice(0,500),m=[];for(let e of p){let t=displayOf(n,e.cases),i=displayOf(n,e.diagram),reject=e=>({file:t,diagram:i,testCase:{name:t,instructions:[]},originalResources:[],convertedResources:[],idMap:new Map,items:new Map,delegates:new Set,answered:new Set,parallel:!1,problem:e});if(e.text===null||e.text.length>2097152){m.push(reject({code:`unreadable-case`,detail:s(`app.migration.proof.caseFileUnreadable`)}));continue}let l=I(e.text);if(l.file===null){m.push(reject({code:`unreadable-case`,detail:A(l.problems.join(`; `))}));continue}let u=r.find(t=>t.path===e.diagram),d=a.find(t=>t.path===e.diagram);if(!u||!d||!c.has(e.diagram)){m.push(reject({code:`no-converted`}));continue}let f=await idMapOf(u.text,d.text);if(f===null){m.push(reject({code:`unreadable-trace`,detail:s(`app.migration.proof.idMapUnreadable`)}));continue}let p=await z({path:u.path,content:u.text},candidatesOf(r)),h=await z({path:d.path,content:d.text},candidatesOf(a)),g=c.get(e.diagram)??{all:new Set,task:new Set};for(let n of l.file.testCases){if(m.length>=2e3)break;let r=new Set([...answeredOf(n)].filter(e=>g.task.has(e)));m.push({file:t,diagram:i,testCase:n,originalResources:p,convertedResources:h,idMap:f,items:o.get(e.diagram)??new Map,delegates:g.all,answered:r,parallel:ne.test(u.text)})}}return{cases:m,added:u,items:l}}function groupByFile(e){let t=new Map;for(let n of e){let e=t.get(n.path)??[];e.push(n),t.set(n.path,e)}return[...t.entries()].map(([e,t])=>({path:e,items:t}))}function rejectedFrom(e,t){if(t===null)return new Set;let n=new Set(t.only),r=new Set(t.exclude),i=new Set;for(let t of e){let listed=e=>e.has(t.id)||t.kind===`element`&&e.has(t.path);n.size>0&&!listed(n)&&i.add(t.id),listed(r)&&i.add(t.id)}return i}function acceptedItems(e,t){return e.filter(e=>!t.has(e.id))}function selectionToApply(e,t){let n=acceptedItems(e,t);return n.length===0?null:{only:new Set(n.map(e=>e.id))}}function selectionToSave(e,t){return{only:[],exclude:e.filter(e=>t.has(e.id)).map(e=>e.id).sort()}}function withToggled(e,t,n){let r=new Set(e);for(let e of t)n?r.delete(e):r.add(e);return r}function scenariosFor(e,t){return e.elementId===null?[]:t.filter(t=>t.diagram===e.path&&(t.touches.includes(e.elementId)||t.reason?.element===e.elementId))}function verdictClass(e){return e===`not-comparable`?`not-comparable`:e}function Change({before:e,after:t}){return a(`div`,{class:`migration__change`,children:[a(`code`,{class:`migration__before`,"aria-label":s(`app.migration.workspace.before`),children:e}),a(`code`,{class:`migration__after`,"aria-label":s(`app.migration.workspace.after`),children:t})]})}function Verdicts({scenarios:e}){return e.length===0?null:a(`span`,{class:`migration__verdicts`,children:e.map((e,t)=>a(`span`,{class:`migration__verdict is-${verdictClass(e.verdict)}`,title:`${e.file} › ${e.name}`,children:verdictLabel(e.verdict)},t))})}function Row({item:e,accepted:t,onToggle:n,host:r,proven:i}){let o=e.elementId??s(`app.migration.workspace.kind.${e.kind}`);return a(`li`,{class:`migration__item${t?``:` is-rejected`}`,children:[a(`label`,{class:`migration__pick`,children:[a(`input`,{type:`checkbox`,checked:t,"aria-label":s(`app.migration.workspace.accept`,{name:o}),onChange:e=>n(e.currentTarget.checked)}),e.elementId===null?a(`span`,{children:o}):a(`button`,{type:`button`,class:`migration__link`,title:s(`app.migration.workspace.open`,{name:o}),onClick:t=>{t.preventDefault(),r.open(e.path,e.elementId)},children:o})]}),a(`span`,{class:`migration__risk is-${e.risk}`,children:s(`app.migration.risk.${e.risk}`)}),a(Verdicts,{scenarios:i}),a(`div`,{class:`migration__details`,children:[e.reasons.map((e,t)=>a(`p`,{class:`migration__reason type-help`,children:e},t)),e.changes.length===0&&a(`p`,{class:`migration__reason type-help`,children:s(`app.migration.workspace.noChanges`)}),e.changes.map((e,t)=>a(Change,{before:e.before,after:e.after},t))]})]})}function Group({group:e,rejected:t,toggle:n,host:i,scenarios:c}){let l=e.items.map(e=>e.id),u=l.every(e=>!t.has(e)),d=l.some(e=>!t.has(e)),f=r(null);return o(()=>{f.current&&(f.current.indeterminate=d&&!u)},[d,u]),a(`section`,{class:`migration__file`,children:[a(`h3`,{class:`migration__heading type-section-heading`,children:a(`label`,{class:`migration__pick`,children:[a(`input`,{ref:f,type:`checkbox`,checked:u,"aria-label":s(`app.migration.workspace.acceptFile`,{file:j(e.path)}),onChange:e=>n(l,e.currentTarget.checked)}),a(`span`,{title:e.path,children:e.path})]})}),a(`ul`,{class:`migration__list`,children:e.items.map(e=>a(Row,{item:e,accepted:!t.has(e.id),onToggle:t=>n([e.id],t),host:i,proven:scenariosFor(e,c)},e.id))})]})}function ScenarioRow({scenario:e}){return a(`li`,{class:`migration__scenario`,children:[a(`span`,{class:`migration__verdict is-${verdictClass(e.verdict)}`,children:verdictLabel(e.verdict)}),a(`span`,{class:`migration__scenario-name`,children:`${e.file} › ${e.name}`}),e.reason&&a(`p`,{class:`migration__reason type-help`,children:reasonText(e.reason)}),e.divergence&&a(`p`,{class:`migration__reason type-help`,children:divergenceText(e.divergence)}),e.verdict===`differs`&&a(`dl`,{class:`migration__traces type-help`,children:[a(`dt`,{children:s(`app.migration.proof.originalTrace`)}),a(`dd`,{children:traceText(e.original)}),a(`dt`,{children:s(`app.migration.proof.convertedTrace`)}),a(`dd`,{children:traceText(e.converted)})]})]})}var $={running:!1,scenarios:[],outcome:null,failure:null};function EnginePick({label:e,value:t,choices:n,onChange:r}){return a(`label`,{class:`migration__control type-help`,children:[a(`span`,{children:e}),a(`select`,{class:`ui-select`,value:t??``,onChange:e=>r(e.target.value||null),children:n.map(e=>a(`option`,{value:e.profile??``,children:e.label},e.profile??``))})]})}function Proof({read:i,host:o,view:c,setView:l,onUnlocked:u}){let d=i.engines.filter(e=>e.family===`camunda-7`&&e.forTests),f=i.engines.filter(e=>e.family===`camunda-8`&&e.forTests),[p,m]=e(d[0]?.profile??null),[h,g]=e(f[0]?.profile??null),[_,v]=e(``),y=r(null),b=d.length>0&&f.length>0,x=t(async e=>{let t=new AbortController;y.current=t;let n=[];l({running:!0,scenarios:[],outcome:null,failure:null});try{let r=await o.prove({original:p,converted:h,scenarios:_.trim()===``?null:_.trim(),unreviewed:e},t.signal,e=>{n.push(e),l({running:!0,scenarios:[...n],outcome:null,failure:null})});l({running:!1,scenarios:r.kind===`done`?r.report.scenarios:[],outcome:r,failure:null})}catch(e){l({running:!1,scenarios:n,outcome:null,failure:e instanceof Error?e.message:String(e)})}},[o,p,h,_,l]),S=c.outcome,C=S?.kind===`done`?S.report:null,w=totalsOf(c.scenarios);return a(`section`,{class:`migration__proof`,children:[a(`h3`,{class:`migration__heading type-section-heading`,children:s(`app.migration.workspace.proof.title`)}),a(`p`,{class:`migration__help type-help`,children:s(`app.migration.workspace.proof.help`)}),!b&&a(`p`,{class:`migration__note type-help`,children:s(`app.migration.workspace.proof.noEngines`)}),b&&a(`div`,{class:`migration__controls`,children:[a(EnginePick,{label:s(`app.migration.workspace.proof.originalEngine`),value:p,choices:d,onChange:m}),a(EnginePick,{label:s(`app.migration.workspace.proof.convertedEngine`),value:h,choices:f,onChange:g}),a(`label`,{class:`migration__control type-help`,children:[a(`span`,{children:s(`app.migration.workspace.proof.scenarios`)}),a(`input`,{class:`ui-input`,value:_,placeholder:`flows/**/*.json`,onInput:e=>v(e.currentTarget.value)})]})]}),a(`div`,{class:`migration__actions`,children:[!c.running&&a(`button`,{type:`button`,class:`ui-button`,disabled:!b,onClick:()=>void x(!1),children:s(`app.migration.workspace.proof.run`)}),c.running&&a(`button`,{type:`button`,class:`ui-button`,onClick:()=>y.current?.abort(),children:s(`app.migration.workspace.proof.stop`)}),c.running&&a(`span`,{class:`migration__note type-help`,role:`status`,children:s(`app.migration.workspace.proof.running`,{count:c.scenarios.length})})]}),c.failure!==null&&a(`p`,{class:`migration__error type-help`,role:`alert`,children:s(`app.migration.workspace.proof.failed`,{reason:c.failure})}),S?.kind===`refused`&&a(`div`,{class:`migration__refusal`,role:`alert`,children:[S.added.length>0&&a(`h4`,{class:`migration__refusal-title type-section-heading`,children:s(`app.migration.workspace.proof.executable.title`)}),S.lines.map((e,t)=>a(`p`,{class:`migration__reason type-help`,children:e},t)),S.added.length>0&&a(n,{children:[a(`ul`,{class:`migration__added`,children:S.added.map((e,t)=>a(`li`,{children:e.element===``?s(`app.migration.proof.unreadableFile`):`${e.element} (${e.kind})`},t))}),a(`button`,{type:`button`,class:`ui-button`,onClick:()=>void x(!0),children:s(`app.migration.workspace.proof.executable.run`)})]})]}),(C!==null||c.scenarios.length>0)&&a(`div`,{class:`migration__banner`,role:`status`,"data-exit":w.differs>0?`1`:w.notComparable>0||c.scenarios.length===0?`2`:`0`,children:[a(`strong`,{children:totalsText(w)}),S?.kind===`done`&&S.unreviewed&&a(`span`,{class:`type-help`,children:s(`app.migration.workspace.proof.ranUnreviewed`)}),C?.limited&&S?.kind===`done`&&!S.paid&&a(`span`,{class:`type-help`,children:[s(`app.migration.proof.freePreview`,{shown:C.scenarios.length,total:C.total}),` `,a(`button`,{type:`button`,class:`migration__link`,onClick:()=>void o.unlock().then(e=>e&&u()),children:s(`app.migration.workspace.proof.unlock`)})]}),C!==null&&C.total===0&&a(`span`,{class:`type-help`,children:s(`app.migration.proof.noScenarios`)})]}),c.scenarios.length>0&&a(`ul`,{class:`migration__scenarios`,children:c.scenarios.map((e,t)=>a(ScenarioRow,{scenario:e},t))})]})}function MigrationScreen({host:n}){let[i,c]=e(null),[l,d]=e(!1),[f,p]=e(new Set),[m,h]=e(null),[g,_]=e(!1),[v,y]=e($),b=r(!0),x=t(()=>{let e=!0;return n.load().then(t=>{e&&(c(t),d(!1),p(e=>b.current?rejectedFrom(t.items,t.saved):new Set([...e].filter(e=>t.items.some(t=>t.id===e)))),b.current=!1)}).catch(()=>e&&d(!0)),()=>{e=!1}},[n]);if(o(()=>x(),[x]),l&&!i)return a(u,{title:s(`app.migration.workspace.failed.title`),hint:s(`app.migration.workspace.failed.hint`)});if(!i)return a(`p`,{class:`migration__note type-help`,children:s(`app.migration.workspace.loading`)});if(!i.source||i.items.length===0)return a(u,{title:s(`app.migration.workspace.empty.title`),hint:s(`app.migration.workspace.empty.hint`)});let S=w(i.items,e=>!f.has(e.id)),C=acceptedItems(i.items,f),T=groupByFile(i.items),apply=async()=>{let e=selectionToApply(i.items,f);if(!(e===null||g)){_(!0),h(null);try{let t=await n.apply(e);h(s(`app.migration.workspace.outcome.${t}`)),t===`applied`&&(y($),b.current=!1,x())}finally{_(!1)}}},save=async()=>{let e=await n.save(selectionToSave(i.items,f));h(s(e?`app.migration.workspace.saved`:`app.migration.workspace.saveFailed`))};return a(`div`,{class:`migration`,children:[a(`header`,{class:`migration__header`,children:[a(`p`,{class:`migration__help type-help`,children:s(`app.migration.workspace.help`)}),i.savedProblem&&a(`p`,{class:`migration__note type-help`,children:s(`app.migration.selection.unreadable`)}),a(`div`,{class:`migration__legend`,children:[`automatic`,`changed`,`person`,`left`].map(e=>a(`span`,{class:`migration__risk is-${e}`,children:`${s(`app.migration.risk.${e}`)}: ${S.byRisk[e]}`},e))})]}),a(`div`,{class:`migration__bar`,children:[a(`span`,{class:`migration__count`,role:`status`,children:s(`app.migration.workspace.summary`,{accepted:S.accepted,total:i.items.length,hours:(S.minutes/60).toFixed(1)})}),a(`button`,{type:`button`,class:`ui-button`,onClick:()=>p(new Set),children:s(`app.migration.workspace.acceptAll`)}),a(`button`,{type:`button`,class:`ui-button`,onClick:()=>p(new Set(i.items.map(e=>e.id))),children:s(`app.migration.workspace.rejectAll`)}),a(`button`,{type:`button`,class:`ui-button`,onClick:()=>void save(),children:s(`app.migration.workspace.save`)}),a(`button`,{type:`button`,class:`ui-button ui-button--primary`,disabled:C.length===0||g,onClick:()=>void apply(),children:s(`app.migration.workspace.apply`)})]}),m!==null&&a(`p`,{class:`migration__notice type-help`,role:`status`,children:m}),T.map(e=>a(Group,{group:e,rejected:f,toggle:(e,t)=>p(n=>withToggled(n,e,t)),host:n,scenarios:v.scenarios},e.path)),a(Proof,{read:i,host:n,view:v,setView:y,onUnlocked:()=>y($)})]})}var re=500;function family(e){return N(e)?`camunda-7`:P(e)?`camunda-8`:`other`}async function inputOf(){let e=await M.read(),t=p(await v(e.diagrams).catch(e=>(console.error(`The migration could not read the delegates:`,e),[]))),n=await M.code(t);return{root:e.root,input:{files:e.diagrams,classes:n?.structure?.classes??[],camunda7Imports:n?.structure?.camunda7Imports??[],index:O(n)}}}async function enginesOf(e,t){try{return((await e.getDeployTargets(t??void 0))?.targets??[]).map(e=>({profile:e.profile??null,label:`${e.profile??s(`app.migration.proof.defaultProfile`)} · ${String(e.engine??``)}`,family:family(e.engine),forTests:e.deployment?.forTests===!0}))}catch{return[]}}function normal(e){return e.replace(/\\/g,`/`)}async function caseTexts(e){let t=((await e.getProjectFiles())?.testCases??[]).slice(0,re),n=new Map;for(let r of t){let t=await e.readFileIfPresent(r.path).catch(()=>null);t!==null&&n.set(normal(r.path),t)}return n}function bridgeMigrationHost(e=K()){let t=``,hostOf=()=>D(e,async()=>t);return{load:async()=>{let{input:n,root:r}=await inputOf();t=r;let i=await b(hostOf(),n),a=await e.readFileIfPresent(`${r.replace(/[\\/]+$/,``)}/${h}`).catch(()=>null),o=a===null?null:_(a);return{root:r,source:i.plan.source,items:i.plan.items,saved:o,savedProblem:a!==null&&o===null,engines:await enginesOf(e,n.files[0]?.path??null)}},apply:async n=>{let{input:r,root:i}=await inputOf();return t=i,C({...hostOf(),confirm:t=>e.confirmWithUser(t)},r,`spring`,n)},save:async n=>{let r=t.replace(/[\\/]+$/,``),i=`${r}/${h}`,a=x(n);try{return await e.readFileIfPresent(i)===null?await e.createProjectFiles(r,[{path:h,content:a}]):await e.saveFile(i,a),!0}catch(e){return console.error(`The selection was not saved:`,e),!1}},open:(n,r)=>{let i=t===``?n:`${t.replace(/[\\/]+$/,``)}/${n}`;e.revealElement(i,r??void 0).catch(e=>console.error(`The file did not open:`,e))},unlock:()=>e.requestFeature(W.MIGRATION_PROOF).catch(()=>!1),prove:async(n,r,i)=>{let{input:a,root:o}=await inputOf();t=o;let c=a.files[0]?.path??null,l=await H(c,n.original,e),u=await H(c,n.converted,e),named=e=>e?{name:String(e.engine),url:e.url,forTests:e.forTests}:null,d=[...endpointRefusals(`original`,named(l),n.original??void 0),...endpointRefusals(`converted`,named(u),n.converted??void 0)];if(l&&u&&l.url!==null&&l.url===u.url&&d.push(s(`app.migration.proof.refusal.sameEngine`)),d.length>0||!l||!u)return{kind:`refused`,lines:d,added:[]};let p=await caseTexts(e),m=await prepareCases({root:o,files:a.files.map(e=>({path:e.path,text:e.text})),scenarios:n.scenarios??void 0,runUnreviewed:n.unreviewed,caseFile:e=>p.get(normal(e))??null});if(`refused`in m)return{kind:`refused`,lines:m.refused,added:m.added??[]};let h=await e.getLicense().catch(()=>null),g=h!==null&&h.tier!==G.FREE;return{kind:`done`,report:await runProof(m.cases,{runId:f(new Date),original:{engine:V(l,c,e),builds:B(l),key:R(l)},converted:{engine:V(u,c,e),builds:B(u),key:R(u)},signal:r,limit:g?null:3,progress:i}),paid:g,unreviewed:m.added.length>0}}}}function MigrationDialog({onClose:e}){let t=i(()=>bridgeMigrationHost(),[]);return a(l,{title:s(`app.migration.workspace.title`),size:`xlarge`,class:`migration-dialog`,onClose:e,footer:a(c,{actions:[{id:`done`,label:s(`app.common.done`),role:`primary`,onClick:e}]}),children:a(MigrationScreen,{host:t})})}export{MigrationDialog};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,o as t,r as n}from"./vendor-NJP34MHU.js";import{i as r}from"./translator-
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,o as t,r as n}from"./vendor-NJP34MHU.js";import{i as r}from"./translator-BLCeE6UY.js";import{d as i,f as a,h as o,m as s,o as c}from"./ui-BLtm3Y1J.js";import{d as l,l as u}from"./files-DI8LgQfb.js";import{p as d,t as f}from"./descriptors-B5VIyY5g.js";import{At as p,Ct as m,Dt as h,Et as g,Ot as _,Tt as v,kt as y,wt as b}from"./web-C4k0NLZ9.js";function familyOf(e){let t=d(e);return t===`camunda-7`||t===`operaton`||t===`cib-seven`?t:flowableOf(e)?`camunda-7`:`camunda-8`}function identifier(e,t){let n=e.replace(/\.[^.]+$/,``).replace(/[^A-Za-z0-9_.-]+/g,`_`).replace(/^[^A-Za-z_]+/,``);return n?`${t}_${n}`:`${t}_1`}function escapeXml(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function emptyProcess(e,t){let n=_(e),r=identifier(t,`Process`);return`<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" ${n.namespaces} xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" modeler:executionPlatform="${n.name}" modeler:executionPlatformVersion="${n.version}">
|
|
3
3
|
<bpmn:process id="${r}" name="${escapeXml(t.replace(/\.[^.]+$/,``))}" isExecutable="true"${b(e).process}>
|
|
4
4
|
<bpmn:startEvent id="StartEvent_1" />
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{i as e}from"./translator-BLCeE6UY.js";import{h as t,m as n,s as r}from"./ui-BLtm3Y1J.js";import{r as i}from"./web-C4k0NLZ9.js";import{c as a,h as o,r as s,u as c}from"./vendor-NJP34MHU.js";import{t as l}from"./bridgeInstance-qzSInqLW.js";var u=[`check`,`scenarios`,`dmnTests`,`receipt`];function Section({title:e,children:t}){return s(`section`,{class:`policy__section`,children:[s(`h3`,{class:`policy__heading type-section-heading`,children:e}),t]})}function Empty({text:e}){return s(`p`,{class:`policy__note`,children:e})}function PolicyScreen({info:t}){if(!t||!t.present)return s(r,{title:e(`app.policy.screen.empty`),hint:e(`app.policy.screen.emptyHint`)});let n=i(t),a=t.name??``,c=t.requiredChecks,l=t.conventions&&Object.keys(t.conventions).length>0?JSON.stringify(t.conventions,null,2):null;return s(`div`,{class:`policy`,children:[s(`header`,{class:`policy__header`,children:[s(`p`,{class:`policy__status`,role:`status`,children:n}),s(`dl`,{class:`policy__facts`,children:[s(`dt`,{children:e(`app.policy.screen.folder`)}),s(`dd`,{children:t.dir}),s(`dt`,{children:e(`app.policy.screen.hash`)}),s(`dd`,{children:t.hash??``}),s(`dt`,{children:e(`app.policy.screen.files`)}),s(`dd`,{children:t.files})]})]}),t.refused.length>0&&s(Section,{title:e(`app.policy.screen.refused`),children:s(`ul`,{class:`policy__list policy__list--error`,children:t.refused.map((e,t)=>s(`li`,{children:e},t))})}),t.refused.length===0&&s(o,{children:[s(Section,{title:e(`app.policy.screen.rules`),children:[t.rules.length===0?s(Empty,{text:e(`app.policy.screen.noRules`)}):s(`ul`,{class:`policy__list`,children:t.rules.map(t=>s(`li`,{class:`policy__rule`,title:t.forced?e(`app.policy.screen.lockedHint`,{name:a}):void 0,children:[s(`span`,{class:`policy__rule-name`,children:t.rule}),s(`span`,{class:`policy__rule-severity`,children:e(`app.policy.screen.severity.${t.severity}`)}),s(`span`,{class:t.forced?`policy__lock is-forced`:`policy__lock`,children:t.forced?`${e(`app.policy.screen.forced`)}, ${e(`app.policy.screen.locked`)}`:e(`app.policy.screen.default`)})]},t.rule))}),t.rules.some(e=>e.forced)&&s(`p`,{class:`policy__note`,children:e(`app.policy.screen.lockedHint`,{name:a})})]}),s(Section,{title:e(`app.policy.screen.palette`),children:t.palette&&t.palette.length>0?s(`p`,{class:`policy__text`,children:t.palette.join(`, `)}):s(Empty,{text:e(`app.policy.screen.noPalette`)})}),s(Section,{title:e(`app.policy.screen.conventions`),children:l?s(`pre`,{class:`policy__code`,children:l}):s(Empty,{text:e(`app.policy.screen.noConventions`)})}),s(Section,{title:e(`app.policy.screen.templates`),children:t.templates.length>0?s(`ul`,{class:`policy__list`,children:t.templates.map(e=>s(`li`,{children:e},e))}):s(Empty,{text:e(`app.policy.screen.noTemplates`)})}),s(Section,{title:e(`app.policy.screen.requiredHeading`),children:c&&u.some(e=>c[e])?s(`ul`,{class:`policy__list`,children:u.filter(e=>c[e]).map(t=>s(`li`,{children:e(`app.policy.screen.required.${t}`)},t))}):s(Empty,{text:e(`app.policy.screen.noRequired`)})})]})]})}function usePolicyInfo(){let[e,t]=a({info:null,loaded:!1});return c(()=>{let e=!0;return(l().getPolicy?.()??Promise.resolve(null)).catch(()=>null).then(n=>{e&&t({info:n,loaded:!0})}),()=>{e=!1}},[]),e}function PolicyDialog({onClose:r}){let{info:i,loaded:a}=usePolicyInfo();return s(n,{title:e(`app.policy.screen.title`),size:`large`,class:`policy-dialog`,onClose:r,footer:s(t,{actions:[{id:`done`,label:e(`app.policy.screen.close`),role:`primary`,onClick:r}]}),children:a&&s(PolicyScreen,{info:i})})}export{PolicyDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,h as t,i as n,o as r,r as i,s as a,u as o}from"./vendor-NJP34MHU.js";import{i as s}from"./translator-
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,h as t,i as n,o as r,r as i,s as a,u as o}from"./vendor-NJP34MHU.js";import{i as s}from"./translator-BLCeE6UY.js";import{X as c,Z as l,h as u}from"./web-C4k0NLZ9.js";var d=-.005,f=-.005,p=-.01,m=1,h=2,g=512;function bonusAt(e,t){if(t===0)return .8;let n=e[t-1];if(n===`/`)return .9;if(n===`-`||n===`_`||n===` `)return .8;if(n===`.`)return .6;let r=e[t];return n>=`a`&&n<=`z`&&r>=`A`&&r<=`Z`?.7:0}function subsequence(e,t){let n=0;for(let r=0;r<t.length&&n<e.length;r+=1)t[r]===e[n]&&(n+=1);return n===e.length}function fuzzy(e,t){let n=e.toLowerCase(),r=n.length;if(r===0)return{score:0,positions:[]};let i=t.length>g?t.slice(t.length-g):t,a=i.toLowerCase(),o=a.length;if(r>o||!subsequence(n,a))return null;let s=new Float64Array(o);for(let e=0;e<o;e+=1)s[e]=bonusAt(i,e);let c=[],l=[];for(let e=0;e<r;e+=1){let t=new Float64Array(o).fill(-1/0),i=new Float64Array(o).fill(-1/0),u=-1/0,h=e===r-1?f:p;for(let r=0;r<o;r+=1){if(n[e]===a[r]){let n=-1/0;e===0?n=r*d+s[r]:r>0&&(n=Math.max(l[e-1][r-1]+s[r],c[e-1][r-1]+m)),t[r]=n,u=Math.max(n,u+h)}else u+=h;i[r]=u}c.push(t),l.push(i)}let u=Array(r).fill(0),h=!1;for(let e=r-1,t=o-1;e>=0;--e)for(;t>=0;--t)if(c[e][t]!==-1/0&&(h||c[e][t]===l[e][t])){h=e>0&&t>0&&l[e][t]===c[e-1][t-1]+m,u[e]=t,--t;break}let _=t.length-i.length;return{score:l[r-1][o-1],positions:u.map(e=>e+_)}}function rankFiles(e,t,n=[]){let r=t.trim().split(/\s+/).filter(Boolean),i=new Map(n.map((e,t)=>[e,n.length-t]));if(r.length===0){let t=e.filter(e=>i.has(e.rel)).sort((e,t)=>(i.get(t.rel)??0)-(i.get(e.rel)??0)),n=e.filter(e=>!i.has(e.rel)).sort((e,t)=>e.rel.localeCompare(t.rel,void 0,{numeric:!0,sensitivity:`base`}));return[...t,...n].map(e=>({file:e,score:0,positions:[]}))}let a=[];for(let t of e){let e=0,n=[],o=t.rel.length-t.name.length,s=!0;for(let i of r){let r=fuzzy(i,t.rel);if(!r){s=!1;break}e+=r.score+(r.positions.every(e=>e>=o)?h:0),n.push(...r.positions)}s&&a.push({file:t,score:e+(i.get(t.rel)??0)*.001,positions:[...new Set(n)].sort((e,t)=>e-t)})}return a.sort((e,t)=>t.score-e.score||e.file.rel.length-t.file.rel.length||e.file.rel.localeCompare(t.file.rel))}function rangesOf(e,t,n){let r=[];for(let i of e){if(i<t||i>=n)continue;let e=i-t,a=r[r.length-1];a&&a[1]===e?a[1]=e+1:r.push([e,e+1])}return r}function useModal(e,t){a(()=>{let n=e.current;if(!n)return;let r=t??(document.activeElement instanceof HTMLElement?document.activeElement:null),i=[],a=n,o=0;for(;a&&a.parentElement&&o<50;){o+=1;let e=a.parentElement;for(let t of Array.from(e.children))t===a||t.hasAttribute(`inert`)||(t.setAttribute(`inert`,``),i.push(t));a=e}return()=>{i.forEach(e=>e.removeAttribute(`inert`));let e=document.activeElement,t=e!==null&&n.contains(e),a=e===null||e===document.body||!document.contains(e);if((t||a)&&r?.isConnected)try{r.focus()}catch{}}},[])}var _=6,v=336,y=`web-quick-list`;function rowsFor(e,t,n,r,i){if(e.startsWith(`>`)){let t=e.slice(1).trim();return i.map(e=>({command:e,found:t===``?{score:0,positions:[]}:fuzzy(t,e.title)})).filter(e=>e.found!==null).sort((e,t)=>t.found.score-e.found.score).map(e=>({type:`command`,id:`c:${e.command.id}`,command:e.command,positions:e.found.positions}))}let a=rankFiles(t,e,n),o=[],c=new Set(n),l=null;for(let t of a){if(e.trim()===``){let e=c.has(t.file.rel)?`recent`:`files`;e!==l&&(l=e,(e===`recent`||a.some(e=>c.has(e.file.rel)))&&o.push({type:`heading`,id:`h:${e}`,text:s(e===`recent`?`app.web.quick.recent`:`app.web.quick.files`)}))}o.push({type:`file`,id:`p:${t.file.path}`,file:t.file,positions:t.positions,open:r.has(t.file.path)})}return o}function windowOf(e,t,n){return{start:Math.max(0,Math.floor(e/28)-_),end:Math.min(n,Math.ceil((e+t)/28)+_)}}function Marked({text:e,ranges:n}){if(n.length===0)return i(t,{children:e});let r=[],a=0;return n.forEach(([n,o])=>{n>a&&r.push(i(t,{children:e.slice(a,n)})),r.push(i(`span`,{class:`palette__match`,children:e.slice(n,o)})),a=o}),a<e.length&&r.push(i(t,{children:e.slice(a)})),i(t,{children:r})}function selectable(e){return!!e&&e.type!==`heading`}function stepIndex(e,t,n){let r=t;for(let i=0;i<e.length;i+=1){if(r+=n,r<0||r>=e.length)return t;if(selectable(e[r]))return r}return t}function QuickOpen({files:t,recent:d,open:f,commands:p,initial:m=``,side:h=!1,onPick:g,onRun:_,onClose:b}){let[x,S]=e(m),[C,w]=e(0),[T,E]=e(0),[D,O]=e(v),k=n(null),A=n(null),j=n(null);useModal(k);let M=r(()=>rowsFor(x,t,d,f,p),[x,t,d,f,p]),N=x.startsWith(`>`);o(()=>{let e=M.findIndex(selectable);w(e<0?0:e),E(0),A.current&&(A.current.scrollTop=0)},[x,M.length]),a(()=>{let e=A.current;if(!e)return;let measure=()=>O(e.clientHeight||v);if(measure(),typeof ResizeObserver>`u`)return;let t=new ResizeObserver(measure);return t.observe(e),()=>t.disconnect()},[]),o(()=>{j.current?.focus(),j.current?.setSelectionRange(m.length,m.length)},[]);let reveal=e=>{let t=A.current;if(!t)return;let n=e*28,r=t.clientHeight||v;n<t.scrollTop?t.scrollTop=n:n+28>t.scrollTop+r&&(t.scrollTop=n+28-r),E(t.scrollTop)},go=e=>{w(e),reveal(e)},choose=(e,t)=>{e&&(e.type===`file`?g(e.file,t||h):e.type===`command`&&_(e.command))},P=Math.max(1,Math.floor((A.current?.clientHeight||v)/28)-1),keys=e=>{if(e.key===`Escape`)e.preventDefault(),e.stopPropagation(),b();else if(e.key===`ArrowDown`)e.preventDefault(),go(stepIndex(M,C,1));else if(e.key===`ArrowUp`)e.preventDefault(),go(stepIndex(M,C,-1));else if(e.key===`PageDown`||e.key===`PageUp`){e.preventDefault();let t=C;for(let n=0;n<P;n+=1)t=stepIndex(M,t,e.key===`PageDown`?1:-1);go(t)}else if(e.key===`Home`&&e.ctrlKey)e.preventDefault(),go(Math.max(0,M.findIndex(selectable)));else if(e.key===`End`&&e.ctrlKey){e.preventDefault();for(let e=M.length-1;e>=0;--e)if(selectable(M[e])){go(e);break}}else e.key===`Enter`?(e.preventDefault(),choose(M[C],e.ctrlKey||e.metaKey)):e.key===`Tab`&&e.preventDefault()},{start:F,end:I}=windowOf(T,D,M.length),L=M[C],R=r(()=>{let e=0;return M.map(t=>selectable(t)?e+=1:e)},[M]),z=R.length>0?R[R.length-1]:0,position=e=>R[e]??0;return i(`div`,{ref:k,class:`palette-overlay web-quick`,onMouseDown:e=>{e.target===e.currentTarget&&b()},children:i(`div`,{class:`palette`,role:`dialog`,"aria-modal":`true`,"aria-label":s(N?`app.web.quick.commandsLabel`:`app.web.quick.label`),children:[i(`input`,{ref:j,class:`palette__field`,type:`text`,role:`combobox`,"aria-expanded":`true`,"aria-controls":y,"aria-autocomplete":`list`,"aria-activedescendant":L&&selectable(L)?`web-quick-${C}`:void 0,"aria-describedby":`web-quick-hint`,placeholder:s(h?`app.web.quick.sidePlaceholder`:`app.web.quick.placeholder`),spellcheck:!1,autoComplete:`off`,value:x,onInput:e=>S(e.currentTarget.value),onKeyDown:keys}),i(`span`,{id:`web-quick-hint`,class:`palette__hint`,children:s(`app.web.quick.hint`)}),i(`ul`,{ref:A,id:y,class:`palette__list web-quick__list`,role:`listbox`,"aria-label":s(N?`app.web.quick.commandsLabel`:`app.web.quick.results`),onScroll:e=>E(e.currentTarget.scrollTop),children:[i(`li`,{role:`presentation`,class:`web-quick__canvas`,style:{height:`${M.length*28}px`},children:M.slice(F,I).map((e,t)=>{let n=F+t,r={top:`${n*28}px`};if(e.type===`heading`)return i(`div`,{class:`palette__heading web-quick__heading`,role:`presentation`,style:r,children:e.text},e.id);let a=n===C;if(e.type===`command`)return i(`div`,{id:`web-quick-${n}`,role:`option`,"aria-selected":a,"aria-setsize":z,"aria-posinset":position(n),class:`palette__row web-quick__row${a?` is-active`:``}`,style:r,onMouseMove:()=>!a&&w(n),onClick:()=>choose(e,!1),children:[i(`span`,{class:`palette__title`,children:i(Marked,{text:e.command.title,ranges:rangesOf(e.positions,0,e.command.title.length)})}),e.command.keys&&i(`span`,{class:`palette__shortcut`,children:e.command.keys})]},e.id);let o=e.file.rel.length-e.file.name.length,d=e.file.rel.slice(0,Math.max(0,o-1));return i(`div`,{id:`web-quick-${n}`,role:`option`,"aria-selected":a,"aria-setsize":z,"aria-posinset":position(n),"aria-label":e.open?s(`app.web.quick.openFile`,{path:e.file.rel}):e.file.rel,title:e.file.rel,class:`palette__row web-quick__row${a?` is-active`:``}`,style:r,onMouseMove:()=>!a&&w(n),onClick:()=>choose(e,!1),children:[i(`span`,{class:`palette__icon web-quick__icon`,children:i(c,{name:l(u(e.file.kind))})}),i(`span`,{class:`palette__title`,children:i(Marked,{text:e.file.name,ranges:rangesOf(e.positions,o,e.file.rel.length)})}),d&&i(`span`,{class:`palette__section web-quick__folder`,children:i(Marked,{text:d,ranges:rangesOf(e.positions,0,d.length)})}),e.open&&i(`span`,{class:`palette__shortcut`,children:s(`app.web.quick.opened`)})]},e.id)})}),M.length===0&&i(`li`,{class:`palette__empty`,role:`presentation`,children:N?s(`app.web.quick.noCommands`):t.length===0?s(`app.web.quick.noFiles`):s(`app.web.quick.noMatch`,{query:x.trim()})})]})]})})}export{QuickOpen};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./run-BMfRBe5O.js","./rolldown-runtime-B8BYMn-z.js","./translator-BLCeE6UY.js","./preload-helper-DExCAR_V.js","./samples-BL3jA_Vd.js","./dist-C-q1IWjr.js","./dist-CdHwU8_m.js","./dist-DHrd1AHo.js","./dist-CRJyslwo.js","./engines-lyEvb0pH.js","./syntax-00Hk6Xv7.js","./dist-DDE6BjgI.js","./dist-BrFvWnvj.js","./dist-Bb5-DGtZ.js","./ScriptRunDialog-YivjHB6j.js","./vendor-NJP34MHU.js","./ui-BLtm3Y1J.js","./dialog-BDJ5dDiU.js","./bridgeInstance-qzSInqLW.js","./docs-B2ZDPeJU.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,i as t,r as n,u as r}from"./vendor-NJP34MHU.js";import{$ as i,I as a,J as o,Q as s,T as c,Tt as l,Y as u,Z as d,ht as f,l as p,lt as m,pt as h}from"./dist-BrFvWnvj.js";import{i as g}from"./translator-BLCeE6UY.js";import{n as _,t as v}from"./syntax-00Hk6Xv7.js";import"./platform-G53Cenyw.js";import{t as y}from"./bridgeInstance-qzSInqLW.js";import{a as b}from"./httpHost-C973OTRe.js";import{t as x}from"./preload-helper-DExCAR_V.js";import{Q as S,m as C}from"./web-C4k0NLZ9.js";import{a as w,i as T,r as E}from"./dist-Bb5-DGtZ.js";import{r as D}from"./dist-BEpeEbIu.js";import{n as O}from"./dist-CJx_2eBF.js";import{n as k,r as A,t as j}from"./source-frame-DC4W0A5-.js";var M={DOUBLE_EQUALS:`app.feel.problem.doubleEquals`,SPACED_NAME:`app.feel.problem.spacedName`,UNCLOSED_BRACKET:`app.feel.problem.unclosedBracket`,MISSING_ELSE:`app.feel.problem.missingElse`,ENDS_TOO_EARLY:`app.feel.problem.endsTooEarly`,UNEXPECTED_TOKEN:`app.feel.problem.unexpectedToken`,UNTERMINATED_STRING:`app.feel.problem.unterminatedString`,NOT_FEEL:`app.feel.problem.notFeel`};function feelProblemText(e){return g(M[e])}var N=[{name:`number`,parameters:[`from`,`grouping separator`,`decimal separator`]},{name:`string`,parameters:[`from`]},{name:`date`,parameters:[`year`,`month`,`day`,`from`]},{name:`date and time`,parameters:[`date`,`time`,`from`]},{name:`time`,parameters:[`hour`,`minute`,`second`,`offset`,`from`]},{name:`duration`,parameters:[`from`]},{name:`years and months duration`,parameters:[`from`,`to`]},{name:`now`,parameters:[]},{name:`today`,parameters:[]},{name:`not`,parameters:[`negand`]},{name:`substring`,parameters:[`string`,`start position`,`length`]},{name:`string length`,parameters:[`string`]},{name:`upper case`,parameters:[`string`]},{name:`lower case`,parameters:[`string`]},{name:`substring before`,parameters:[`string`,`match`]},{name:`substring after`,parameters:[`string`,`match`]},{name:`replace`,parameters:[`input`,`pattern`,`replacement`,`flags`]},{name:`contains`,parameters:[`string`,`match`]},{name:`matches`,parameters:[`input`,`pattern`,`flags`]},{name:`starts with`,parameters:[`string`,`match`]},{name:`ends with`,parameters:[`string`,`match`]},{name:`split`,parameters:[`string`,`delimiter`]},{name:`string join`,parameters:[`list`,`delimiter`]},{name:`list contains`,parameters:[`list`,`element`]},{name:`list replace`,parameters:[`list`,`position`,`newItem`,`match`]},{name:`count`,parameters:[`list`]},{name:`sublist`,parameters:[`list`,`start`,`length`]},{name:`append`,parameters:[`list`,`...item`]},{name:`concatenate`,parameters:[`...list`]},{name:`insert before`,parameters:[`list`,`position`,`newItem`]},{name:`remove`,parameters:[`list`,`position`]},{name:`reverse`,parameters:[`list`]},{name:`index of`,parameters:[`list`,`match`]},{name:`distinct values`,parameters:[`list`]},{name:`flatten`,parameters:[`list`]},{name:`decimal`,parameters:[`n`,`scale`]},{name:`floor`,parameters:[`n`,`scale`]},{name:`ceiling`,parameters:[`n`,`scale`]},{name:`abs`,parameters:[`n`]},{name:`round up`,parameters:[`n`,`scale`]},{name:`round down`,parameters:[`n`,`scale`]},{name:`round half up`,parameters:[`n`,`scale`]},{name:`round half down`,parameters:[`n`,`scale`]},{name:`modulo`,parameters:[`dividend`,`divisor`]},{name:`sqrt`,parameters:[`number`]},{name:`log`,parameters:[`number`]},{name:`exp`,parameters:[`number`]},{name:`odd`,parameters:[`number`]},{name:`even`,parameters:[`number`]},{name:`is`,parameters:[`value1`,`value2`]},{name:`before`,parameters:[`a`,`b`]},{name:`after`,parameters:[`a`,`b`]},{name:`meets`,parameters:[`range1`,`range2`]},{name:`met by`,parameters:[`range1`,`range2`]},{name:`overlaps`,parameters:[`range1`,`range2`]},{name:`includes`,parameters:[`range`,`value`]},{name:`day of year`,parameters:[`date`]},{name:`day of week`,parameters:[`date`]},{name:`month of year`,parameters:[`date`]},{name:`week of year`,parameters:[`date`]},{name:`sort`,parameters:[`list`,`precedes`]},{name:`get value`,parameters:[`m`,`key`]},{name:`get entries`,parameters:[`m`]},{name:`context put`,parameters:[`context`,`keys`,`value`,`key`]}],P=[`execution`,`task`],F={getVariable:`read`,getVariableTyped:`read`,hasVariable:`test`,setVariable:`write`,removeVariable:`remove`},I=RegExp(`\\b(?:${P.join(`|`)})\\s*\\.\\s*(${Object.keys(F).join(`|`)})\\s*\\(\\s*(["'])([^"'\\\\\\r\\n]+)\\2`,`g`),L=RegExp(`\\b(?:${P.join(`|`)})\\s*\\.\\s*(?:${Object.keys(F).join(`|`)})\\s*\\(\\s*(["'])[^"'\\\\\\r\\n]*$`);function isInsideVariableName(e){return L.test(e)}function scriptVariableReferences(e){return[...e.matchAll(I)].flatMap(e=>{let t=e[1],n=e[2],r=e[3],i=t===void 0?void 0:F[t];if(t===void 0||n===void 0||r===void 0||i===void 0)return[];let a=e.index+e[0].length-n.length;return[{name:r,start:a-r.length,end:a,access:i,method:t}]})}function feelNameAt(e,t){let n=_(e),r=n.findIndex(e=>e.start<=t&&t<e.end),i=n[r];if(!(!i||i.kind!==`name`&&i.kind!==`backtick_name`)&&n[r+1]?.kind!==`open_parenthesis`)return{name:i.kind===`backtick_name`?i.text.slice(1,-1):i.text,start:i.start,end:i.end}}function variableNamed(e,t){return e.find(e=>e.name===t)}function referenceAt(e,t){return scriptVariableReferences(e).find(e=>e.start<=t&&t<=e.end)}function variableAt(e,t,n,r){let i=e===`feel`?feelNameAt(t,n):referenceAt(t,n),a=i===void 0?void 0:variableNamed(r,i.name);return a&&i?{variable:a,start:i.start,end:i.end}:void 0}function placesOf(e){return e.writers.map(e=>e.label).join(`, `)}function setByText(e){return e.writers.length>0?g(`app.script.writers.set`,{places:placesOf(e)}):g(`app.script.writers.none`)}function variableCompletions(e){return e.map(e=>({name:e.name,detail:e.type??g(`app.script.completion.variable`),documentation:setByText(e)}))}function builtinCompletions(){return N.map(e=>({name:e.name,signature:`${e.name}(${e.parameters.join(`, `)})`}))}function completionsFor(e,t,n){if(e!==`feel`&&!isInsideVariableName(t))return[];let r=variableCompletions(n).map(e=>({name:e.name,kind:`variable`,detail:e.detail,documentation:e.documentation}));if(e!==`feel`)return r;let i=builtinCompletions().map(e=>({name:e.name,kind:`builtin`,detail:e.signature,documentation:g(`app.script.completion.builtin`)}));return[...r,...i]}function variableHover(e){return{name:e.name,typeLine:e.type?g(`app.script.typeLabel`,{type:e.type}):null,setBy:setByText(e)}}function contextSummary(e){if(e.length!==0)return g(`app.script.context.summary`,{names:e.map(e=>e.name).join(`, `)})}function feelDiagnostics(e){let t=v(e);if(!t)return[];let n={start:t.start,end:t.end,message:feelProblemText(t.problem)};return t.replacement!==void 0&&(n.replacement=t.replacement),[n]}async function engineFor(e,t){if(t===void 0)return{note:g(`app.feel.run.noEngine`)};let{connectedFeelTarget:n}=await x(async()=>{let{connectedFeelTarget:e}=await import(`./run-BMfRBe5O.js`);return{connectedFeelTarget:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url),r=await e.getDeployTargets(t),i=n(r.targets,r.active);if(i===void 0)return{note:g(`app.feel.run.noEngine`)};let a=i.profile??null;return{link:{kind:`CAMUNDA_8`,ask:n=>e.askEngine(a,n,t)}}}async function runFeelScript(e,t,n,r){let i=await x(()=>import(`./run-BMfRBe5O.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url),a=i.resolveSampleInputs(r);if(a.status===`failed`)return{status:`inputs`,message:a.message};try{let r=await engineFor(e,t);return{status:`report`,report:await i.runEvaluation(n,a.variables,r.link,r.link===void 0?r.note:void 0)}}catch(e){return{status:`report`,report:i.failureReport(await b(e))}}}var R=m.define(),z=/[\p{L}\p{N}_]*/u,B=/^[\p{L}\p{N}_]*$/u,V=f.transactionExtender.of(e=>e.annotation(R)?{annotations:l.addToHistory.of(!1)}:null);function scriptTabLanguageOf(e){return e===`feel`||e===`groovy`||e===`javascript`?e:null}async function scriptLanguageExtension(e){return e===`feel`?(await x(async()=>{let{feel:e}=await import(`./dist-DDE6BjgI.js`).then(e=>e.t);return{feel:e}},__vite__mapDeps([11,1,6,7,8,12,13]),import.meta.url)).feel():A(e)}function scriptBasics(){return[O,i(),u(),o(),p(),c(),T(),s.of(w)]}async function feelWords(e){let{keywordCompletions:t,snippets:n}=await x(async()=>{let{keywordCompletions:e,snippets:t}=await import(`./dist-DDE6BjgI.js`).then(e=>e.t);return{keywordCompletions:e,snippets:t}},__vite__mapDeps([11,1,6,7,8,12,13]),import.meta.url);return[...(await Promise.all(t.map(t=>t(e)))).flatMap(e=>e?.options??[]),...n]}function completionSource(e,t,n){return async r=>{let i=r.matchBefore(z);if(!i||i.from===i.to&&!r.explicit)return null;let a=r.state.doc.lineAt(r.pos),o=completionsFor(n,a.text.slice(0,r.pos-a.from),e.contextOf(t)).map(e=>({label:e.name,type:e.kind===`builtin`?`function`:`variable`,detail:e.detail,info:e.documentation})),s=n===`feel`?[...o,...await feelWords(r)]:o;return s.length>0?{from:i.from,options:s,validFor:B}:null}}function hoverElement(e){let t=document.createElement(`div`);t.className=`web-script__hover`;let n=document.createElement(`strong`);if(n.textContent=e.name,t.append(n),e.typeLine!==null){let n=document.createElement(`div`);n.textContent=e.typeLine,t.append(n)}let r=document.createElement(`div`);return r.textContent=e.setBy,t.append(r),t}function hoverFor(e,t,n){return d((r,i)=>{let a=variableAt(n,r.state.doc.toString(),i,e.contextOf(t));if(!a)return null;let o=variableHover(a.variable);return{pos:a.start,end:a.end,above:!0,create:()=>({dom:hoverElement(o)})}})}var H=D(e=>feelDiagnostics(e.state.doc.toString()).map(e=>({from:e.start,to:e.end,severity:`error`,message:e.message})));function scriptEditing(e,t,n){let r=E({override:[completionSource(e,t,n)]}),i=hoverFor(e,t,n);return n===`feel`?[r,i,V,H]:[r,i,V]}var U={feel:`FEEL`,groovy:`Groovy`,javascript:`JavaScript`};function ScriptResult({report:e}){return n(`div`,{class:e.failed?`web-script__result is-error`:`web-script__result`,role:e.failed?`alert`:`status`,children:e.lines.map((e,t)=>n(`p`,{class:`type-body`,children:e},t))})}function ScriptPane({hub:i,tab:o,shown:s,focused:c}){let l=t(null),u=t(null),d=t(Symbol(`script-tab`)),p=scriptTabLanguageOf(o.language),m=i.contextOf(o.id),_=contextSummary(m),[v,b]=e(!1),[w,T]=e(null),[E,D]=e(null),[O,A]=e({}),[M,N]=e(null),P=p===`feel`;r(()=>{let e=l.current;if(!e)return;let t=!0,n=new h,r=p?scriptEditing(i,o.id,p):[],s=new a({parent:e,state:f.create({doc:o.text,extensions:[scriptBasics(),j,k,n.of(r),a.updateListener.of(e=>{e.docChanged&&!e.transactions.some(e=>e.annotation(R))&&(i.changed(o.id,e.state.doc.toString()),T(null))})]})});return u.current=s,p&&scriptLanguageExtension(p).then(e=>{t&&s.dispatch({effects:n.reconfigure([e,...r])})}),()=>{t=!1,s.destroy(),u.current=null}},[o.id]),r(()=>{let e=u.current;e&&e.state.doc.toString()!==o.text&&e.dispatch({changes:{from:0,to:e.state.doc.length,insert:o.text},annotations:R.of(!0)})},[o.revision]),r(()=>{if(s&&c)return S(d.current,()=>({undo:()=>i.history(o.id,`undo`),redo:()=>i.history(o.id,`redo`)}))},[s,c,o.id]),r(()=>{if(!w?.mark)return;let{start:e,end:t}=w.mark;u.current?.dispatch({selection:{anchor:e,head:t},effects:a.scrollIntoView(e,{y:`center`})})},[w]);let openRun=()=>{let e=u.current;P&&e&&(D({expression:e.state.doc.toString()}),x(()=>import(`./ScriptRunDialog-YivjHB6j.js`).then(e=>N(()=>e.ScriptRunDialog)),__vite__mapDeps([14,1,15,2,3,4,5,6,7,8,9,10,16,17,18,19]),import.meta.url))},runFeel=async(e,t)=>{let n=await runFeelScript(y(),i.diagramOf(o.id),e,t);return n.status===`inputs`?n.message:(A(t),T(n.report),D(null),null)};return n(`div`,{id:C(`web-pane`,o.id),class:`web-pane web-script`,role:`tabpanel`,"aria-labelledby":C(`web-tab`,o.id),"data-active":s?`true`:`false`,"data-focused":c?`true`:`false`,"aria-hidden":!s||void 0,children:[o.conflict!==null&&n(`div`,{class:`web-pane__banner is-warning`,role:`alert`,children:[n(`span`,{class:`web-pane__banner-text type-body`,children:g(`app.script.conflict.message`,{name:o.title})}),n(`button`,{type:`button`,class:`ui-button type-button`,onClick:()=>i.resolve(o.id,`tab`),children:g(`app.script.conflict.keepTab`)}),n(`button`,{type:`button`,class:`ui-button type-button`,onClick:()=>i.resolve(o.id,`diagram`),children:g(`app.script.conflict.useDiagram`)})]}),n(`div`,{class:`web-script__bar`,children:[n(`span`,{class:`web-script__language type-help`,children:p?U[p]:o.language}),_&&n(`span`,{class:`web-script__context type-help`,children:_}),m.length>0&&n(`button`,{type:`button`,class:`ui-button type-button`,"aria-expanded":v,onClick:()=>b(e=>!e),children:g(`app.script.context.showAll`)}),n(`button`,{type:`button`,class:`ui-button type-button`,disabled:!P,onClick:openRun,children:g(`app.script.run.button`)})]}),!P&&n(`p`,{class:`web-script__note type-help`,role:`status`,children:g(`app.script.run.unavailable`)}),v&&n(`ul`,{class:`web-script__variables`,children:m.map(e=>n(`li`,{class:`web-script__variable`,children:[n(`span`,{class:`type-body`,children:e.name}),e.type&&n(`span`,{class:`type-help`,children:e.type}),n(`span`,{class:`type-help`,children:variableHover(e).setBy})]},e.name))}),n(`div`,{class:`web-script__editor`,ref:l,"aria-label":o.title}),w&&n(ScriptResult,{report:w}),E&&M&&n(M,{expression:E.expression,variables:m,remembered:O,onRun:e=>runFeel(E.expression,e),onClose:()=>D(null)})]})}export{ScriptPane,feelProblemText as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,r as t}from"./vendor-NJP34MHU.js";import{i as n}from"./translator-
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,r as t}from"./vendor-NJP34MHU.js";import{i as n}from"./translator-BLCeE6UY.js";import{t as r}from"./samples-BL3jA_Vd.js";import{d as i,f as a,h as o,m as s}from"./ui-BLtm3Y1J.js";var c={mode:`json`,text:``},l=3;function ScriptRunDialog({expression:u,variables:d,remembered:f,onRun:p,onClose:m}){let h=r(u),[g,_]=e(()=>Object.fromEntries(h.map(e=>[e,f[e]??c]))),[v,y]=e(null),[b,x]=e(!1),change=(e,t)=>{_(n=>({...n,[e]:{...n[e]??c,...t}}))},run=async()=>{x(!0);let e=await p(g);e!==null&&(y(e),x(!1))},typeOf=e=>d.find(t=>t.name===e)?.type??void 0;return t(s,{title:n(`app.script.run.title`),size:h.length>l?`medium`:`small`,onClose:m,onSubmit:run,footer:t(o,{actions:[{id:`cancel`,label:n(`app.common.cancel`),role:`cancel`,onClick:m,disabled:b},{id:`run`,label:n(`app.script.run.button`),role:`primary`,onClick:run,busy:b}]}),children:[t(`p`,{class:`type-help`,children:n(`app.script.run.help`)}),h.map(e=>t(i,{label:e,hint:typeOf(e),children:r=>t(`div`,{class:`web-script__sample`,children:[t(`input`,{...r,value:g[e]?.text??``,disabled:b,spellcheck:!1,autocomplete:`off`,onInput:t=>change(e,{text:t.target.value})}),t(`select`,{"aria-label":n(`app.script.run.kindLabel`),value:g[e]?.mode??c.mode,disabled:b,onChange:t=>change(e,{mode:t.target.value}),children:[t(`option`,{value:`json`,children:n(`app.script.run.kind.json`)}),t(`option`,{value:`expression`,children:n(`app.script.run.kind.expression`)})]})]})},e)),v&&t(a,{children:v})]})}export{ScriptRunDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,r as t}from"./vendor-NJP34MHU.js";import{i as n}from"./translator-
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,r as t}from"./vendor-NJP34MHU.js";import{i as n}from"./translator-BLCeE6UY.js";import{d as r,h as i,m as a}from"./ui-BLtm3Y1J.js";import{Pt as o}from"./web-C4k0NLZ9.js";function parseSeconds(e){if(!/^\d{1,4}$/.test(e.trim()))return null;let t=Number(e);return t>=1&&t<=600?t:null}function SettingsDialog({theme:s,autosave:c,onAgents:l,onTheme:u,onAutosave:d,suggestNextBlock:f,onSuggestNextBlock:p,suggestions:m,onSuggestions:h,onClose:g}){let[_,v]=e(s),[y,b]=e(c!==null),[x,S]=e(String(c??5)),[C,w]=e(f),[T,E]=e(m),D=parseSeconds(x)!==null,pickTheme=e=>{v(e),u(e)},toggleSuggest=e=>{w(e),p(e)},toggleNames=e=>{E(e),h(e)},toggle=e=>{b(e),d(e?parseSeconds(x)??5:null)},change=e=>{S(e);let t=parseSeconds(e);y&&t!==null&&d(t)};return t(a,{title:n(`app.web.settings.title`),size:`medium`,onClose:g,onSubmit:()=>D&&g(),footer:t(i,{actions:[{id:`done`,label:n(`app.common.done`),role:`primary`,onClick:g,disabled:!D}]}),children:t(`div`,{class:`web-settings`,children:[t(`section`,{class:`web-settings__group`,"aria-labelledby":`web-settings-theme`,children:[t(`h3`,{id:`web-settings-theme`,class:`web-settings__heading type-section-heading`,children:n(`app.web.settings.appearance`)}),t(`div`,{role:`radiogroup`,"aria-labelledby":`web-settings-theme`,class:`web-settings__choices`,children:o.map(e=>t(`label`,{class:`web-settings__choice type-body`,children:[t(`input`,{type:`radio`,name:`web-theme`,value:e,checked:_===e,onChange:()=>pickTheme(e)}),t(`span`,{children:n(e===`ide`?`app.web.settings.themeSystem`:`app.themeChoice.${e}`)})]},e))})]}),t(`section`,{class:`web-settings__group`,"aria-labelledby":`web-settings-editor`,children:[t(`h3`,{id:`web-settings-editor`,class:`web-settings__heading type-section-heading`,children:n(`app.web.settings.editor`)}),t(`label`,{class:`web-settings__choice type-body`,children:[t(`input`,{type:`checkbox`,checked:C,onChange:e=>toggleSuggest(e.currentTarget.checked)}),t(`span`,{children:n(`app.web.settings.suggestNextBlock`)})]}),t(`p`,{class:`web-settings__help type-help`,children:n(`app.web.settings.suggestNextBlockHelp`)}),t(`label`,{class:`web-settings__choice type-body`,children:[t(`input`,{type:`checkbox`,checked:T,onChange:e=>toggleNames(e.currentTarget.checked)}),t(`span`,{children:n(`app.web.settings.suggestions`)})]}),t(`p`,{class:`web-settings__help type-help`,children:n(`app.web.settings.suggestionsHelp`)})]}),t(`section`,{class:`web-settings__group`,"aria-labelledby":`web-settings-save`,children:[t(`h3`,{id:`web-settings-save`,class:`web-settings__heading type-section-heading`,children:n(`app.web.settings.saving`)}),t(`label`,{class:`web-settings__choice type-body`,children:[t(`input`,{type:`checkbox`,checked:y,onChange:e=>toggle(e.currentTarget.checked)}),t(`span`,{children:n(`app.web.settings.autosave`)})]}),t(r,{label:n(`app.web.settings.autosaveDelay`),hint:n(`app.web.settings.autosaveHelp`),error:D?void 0:n(`app.web.settings.autosaveRange`,{min:1,max:600}),children:e=>t(`input`,{...e,class:`${e.class} type-input web-settings__number`,type:`text`,inputMode:`numeric`,value:x,disabled:!y,onInput:e=>change(e.currentTarget.value)})})]}),t(`section`,{class:`web-settings__group`,"aria-labelledby":`web-settings-agents`,children:[t(`h3`,{id:`web-settings-agents`,class:`web-settings__heading type-section-heading`,children:n(`app.web.settings.agents`)}),t(`p`,{class:`web-settings__help type-help`,children:n(`app.web.settings.agentsHelp`)}),t(`button`,{type:`button`,class:`ui-button type-button web-settings__manage`,onClick:l,children:n(`app.web.settings.agentsManage`)})]})]})})}export{SettingsDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import"./web-C4k0NLZ9.js";import{i as e}from"./translator-BLCeE6UY.js";import{h as t,m as n}from"./ui-BLtm3Y1J.js";import{o as r}from"./AgentSettings-D24jOuht.js";import{t as i}from"./commands-GT3J_YEC.js";import{r as a}from"./vendor-NJP34MHU.js";function shortcutRows(){return[{group:e(`app.web.shortcuts.group.files`),rows:[{command:`quickOpen`,label:e(`app.web.command.quickOpen`)},{command:`actions`,label:e(`app.web.command.actions`)},{command:`newFile`,label:e(`app.web.command.newFile`)},{command:`save`,label:e(`app.web.command.save`)},{command:`saveAll`,label:e(`app.web.command.saveAll`)}]},{group:e(`app.web.shortcuts.group.tabs`),rows:[{command:`closeTab`,label:e(`app.web.command.closeTab`)},{command:`nextTab`,label:e(`app.web.command.nextTab`)},{command:`previousTab`,label:e(`app.web.command.previousTab`)},{command:`tab1`,label:e(`app.web.command.jumpToTab`)},{command:`splitView`,label:e(`app.web.command.splitView`)}]},{group:e(`app.web.shortcuts.group.window`),rows:[{command:`toggleSidebar`,label:e(`app.web.command.toggleSidebar`)},...r()?[{command:`askAgent`,label:e(`app.web.command.askAgent`)}]:[],{command:`shortcuts`,label:e(`app.web.command.shortcuts`)}]}]}function ShortcutsDialog({mac:r,onClose:o}){return a(n,{title:e(`app.web.shortcuts.title`),size:`medium`,onClose:o,onSubmit:o,footer:a(t,{help:e(`app.web.shortcuts.editorHint`),actions:[{id:`close`,label:e(`app.common.close`),role:`primary`,onClick:o}]}),children:a(`div`,{class:`web-shortcuts`,children:shortcutRows().map(e=>a(`section`,{class:`web-shortcuts__group`,"aria-label":e.group,children:[a(`h3`,{class:`web-shortcuts__heading type-section-heading`,children:e.group}),a(`dl`,{class:`web-shortcuts__list`,children:e.rows.map(e=>a(`div`,{class:`web-shortcuts__row`,children:[a(`dt`,{class:`type-body`,children:e.label}),a(`dd`,{class:`web-shortcuts__keys`,children:e.command===`tab1`?a(`kbd`,{class:`web-shortcuts__key type-help`,children:r?`⌘1…9`:`Ctrl+1…9`}):i(e.command,r).map(e=>a(`kbd`,{class:`web-shortcuts__key type-help`,children:e},e))})]},e.command))})]},e.group))})})}export{ShortcutsDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,i as t,r as n,u as r}from"./vendor-NJP34MHU.js";import{t as i}from"./dist-CJx_2eBF.js";import{I as a,ht as o,pt as s}from"./dist-BrFvWnvj.js";import{i as c}from"./translator-BLCeE6UY.js";import{t as l}from"./intelligence-DNqJNmdB.js";import{r as u}from"./files-DI8LgQfb.js";import{i as d,n as f,r as p,t as m}from"./source-frame-DC4W0A5-.js";import{Mt as h,Nt as g}from"./web-C4k0NLZ9.js";var _=2e6;function shown(e){return e.length>_?{text:e.slice(0,_),cut:!0}:{text:e,cut:!1}}function SourceDocument({handle:_}){let v=t(null),y=t(null),[b,x]=e(shown(_.initialText).cut),[S,C]=e(null),w=u(_.path),T=d(w),goTo=e=>{let t=y.current;if(!t||e===null)return;let n=t.state.doc.lines,r=t.state.doc.line(Math.max(1,Math.min(e,n)));t.dispatch({selection:{anchor:r.from},effects:a.scrollIntoView(r.from,{y:`center`})})};return r(()=>{let e=v.current;if(!e)return;let t=!0;C(null);let n=new s,r=new s,c=new a({parent:e,state:o.create({doc:shown(_.initialText).text,extensions:[i,m,f,o.readOnly.of(!0),n.of([]),r.of([])]})});y.current=c,p(T).then(e=>{t&&c.dispatch({effects:n.reconfigure(e)})}),l(c,r,_,T,{noServer:e=>t&&C(e)},()=>t),requestAnimationFrame(()=>t&&goTo(h(_.path)));let u=g(_.path,goTo),d=_.onReload(e=>{let t=shown(e);x(t.cut),c.dispatch({changes:{from:0,to:c.state.doc.length,insert:t.text}})});return()=>{t=!1,u(),d(),c.destroy(),y.current=null}},[_,T]),n(`div`,{class:`web-source`,children:[n(`div`,{class:`web-source__bar`,children:[n(`span`,{class:`web-source__path type-help`,title:w,children:w}),n(`span`,{class:`web-source__tag type-help`,children:c(`app.webHost.source.readOnly`)})]}),S&&n(`p`,{class:`web-source__hint type-help`,role:`status`,children:c(`app.web.code.noServer`,{server:S})}),b&&n(`p`,{class:`web-source__note type-help`,role:`status`,children:c(`app.webHost.source.truncated`)}),n(`div`,{class:`web-source__editor`,ref:v,"aria-label":c(`app.webHost.source.label`,{name:_.name})})]})}export{SourceDocument};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B8BYMn-z.js";import{c as t,d as n,f as r,g as i,h as a,i as o,o as s,r as c,u as l}from"./vendor-NJP34MHU.js";import{i as u}from"./translator-BLCeE6UY.js";import{C as d,E as f,O as p,S as m,T as h,g,i as _,k as v,m as y,n as b,r as x,t as S,w as C,y as w}from"./documentBridge-CHw4XsZH.js";import{a as T,i as E,r as D,t as O}from"./dist-DN6jzqTC.js";import{t as k}from"./bridgeInstance-qzSInqLW.js";import{d as A,h as j,m as M,s as N}from"./ui-BLtm3Y1J.js";import{t as ee}from"./platform-G53Cenyw.js";import{n as te,t as ne}from"./nudges-DPG3WpyV.js";import{_t as P,l as re}from"./web-C4k0NLZ9.js";import{t as F}from"./dist-CJx_2eBF.js";import{I,ht as L,lt as R,pt as z}from"./dist-BrFvWnvj.js";import{i as B}from"./dist-BEpeEbIu.js";import{n as V,r as H,t as U}from"./source-frame-DC4W0A5-.js";import{a as W,i as G,t as K}from"./data-CdiToGOq.js";import{t as q}from"./template-BQP7ZXdK.js";import{C as J}from"./frontend-uXAWaalt.js";import{t as ie}from"./sharedReader-BsXfiBT8.js";import{p as ae}from"./trace-DXQU2N_l.js";var oe=[v(e=>e.history.undo),f(e=>e.history.redo),{id:`template-source`,title:`Source`,section:`View`,icon:`code`,keywords:[`json`,`text`,`edit the file`,`raw`],place:`pinned`,slot:`view`,presentation:`text`,tooltip:`Edit the template as JSON; the form follows what you type`,checked:e=>e.open.source,run:e=>e.commands.source()},{id:`template-loading`,title:`Why not loaded`,section:`Check & run`,icon:`diagram-check`,keywords:[`load`,`loaded`,`missing`,`ignored`,`modeler`,`folder`,`schema`,`templates not showing`],place:`pinned`,slot:`view`,presentation:`text`,tooltip:`Which template files Camunda Desktop Modeler and Web Modeler load, and the reason when one does not`,checked:e=>e.open.loading,run:e=>e.commands.loading()},{id:`diagram-check`,l10n:`template-check`,title:`Check`,section:`Check & run`,icon:`diagram-check`,keywords:[`lint`,`validate`,`problems`,`errors`,`schema`,`template`],place:`pinned`,presentation:`text`,tooltip:`Check the template against the element template schema`,checked:e=>e.open.check,run:e=>e.commands.check()},p(),h(),m(),C(),w()];function escapePointer(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function pointerLines(e){let t=new Map,n=0,r=1,skip=()=>{for(;n<e.length;){let t=e[n];if(t===`
|
|
2
|
+
`)r+=1;else if(t!==` `&&t!==` `&&t!==`\r`)return;n+=1}},string=()=>{let t=n;for(n+=1;n<e.length&&e[n]!==`"`;)n+=e[n]===`\\`?2:1;return n+=1,JSON.parse(e.slice(t,n))},value=i=>{skip(),t.set(i,r);let a=e[n];if(a===`{`){for(n+=1,skip();n<e.length&&e[n]!==`}`;){let t=string();skip(),n+=1,value(`${i}/${escapePointer(t)}`),skip(),e[n]===`,`&&(n+=1),skip()}n+=1}else if(a===`[`){n+=1,skip();let t=0;for(;n<e.length&&e[n]!==`]`;)value(`${i}/${t}`),t+=1,skip(),e[n]===`,`&&(n+=1),skip();n+=1}else if(a===`"`)string();else for(;n<e.length&&!/[,\]}\s]/.test(e[n]);)n+=1};return value(``),t}function lineOfPointer(e,t){let n=t;for(;;){let t=e.get(n);if(t!==void 0)return t;let r=n.lastIndexOf(`/`);if(r<0)return null;n=n.slice(0,r)}}function triple(e){let t=/^v?(\d+)(?:\.(\d+|x|\*))?(?:\.(\d+|x|\*))?/i.exec(e.trim());if(!t)return null;let n=[t[1],t[2],t[3]].filter(e=>e!==void 0&&!/^[x*]$/i.test(e)).length;return{parts:[Number(t[1]),Number(t[2])||0,Number(t[3])||0],given:n}}function compare(e,t){for(let n=0;n<3;n+=1)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return 0}function upper(e,t,n){return n&&e[0]>0?[e[0]+1,0,0]:n&&e[1]>0&&t>1?[0,e[1]+1,0]:!n&&t<=1?[e[0]+1,0,0]:n?[0,0,e[2]+1]:[e[0],e[1]+1,0]}function matches(e,t){let n=/^(\^|~|>=|<=|>|<|=)?\s*(.+)$/.exec(t.trim());if(!n)return null;let r=n[1]??`=`,i=triple(n[2]);if(!i)return null;let{parts:a,given:o}=i;switch(r){case`^`:return compare(e,a)>=0&&compare(e,upper(a,o,!0))<0;case`~`:return compare(e,a)>=0&&compare(e,upper(a,o,!1))<0;case`>=`:return compare(e,a)>=0;case`<=`:return o>=3?compare(e,a)<=0:compare(e,upper(a,o,!1))<0;case`>`:return o>=3?compare(e,a)>0:compare(e,upper(a,o,!1))>=0;case`<`:return compare(e,a)<0;default:return o>=3?compare(e,a)===0:compare(e,a)>=0&&compare(e,upper(a,o,!1))<0}}function satisfies(e,t){let n=triple(e);if(!n)return null;let r=!1;for(let e of t.split(`||`)){let t=e.trim().replace(/(\^|~|>=|<=|>|<|=)\s+/g,`$1`).split(/\s+/).filter(e=>e!==``);if(t.length===0)continue;let i=t.map(e=>matches(n.parts,e));if(!i.some(e=>e===null)&&(r=!0,i.every(e=>e===!0)))return!0}return!r&&null}function newerThan(e,t){let n=triple(e),r=triple(t);return n!==null&&r!==null&&compare(n.parts,r.parts)>0}var Y=`https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json`,se=`https://unpkg.com/@camunda/element-templates-json-schema/resources/schema.json`,X=[`String`,`Text`,`Number`,`Boolean`,`Dropdown`,`Hidden`],ce={"camunda-8":[`property`,`zeebe:input`,`zeebe:output`,`zeebe:property`,`zeebe:taskHeader`,`zeebe:taskDefinition:type`,`zeebe:taskDefinition`,`zeebe:calledElement`,`zeebe:linkedResource`,`zeebe:formDefinition`,`zeebe:calledDecision`,`zeebe:script`,`zeebe:assignmentDefinition`,`zeebe:priorityDefinition`,`zeebe:adHoc`,`zeebe:taskSchedule`,`zeebe:agentDefinition`,`zeebe:userTask`,`zeebe:executionListener`,`zeebe:taskListener`,`bpmn:Message#property`,`bpmn:Message#zeebe:subscription#property`,`bpmn:Signal#property`,`bpmn:TimerEventDefinition#property`,`bpmn:ConditionalEventDefinition#property`],"camunda-7":[`property`,`camunda:property`,`camunda:inputParameter`,`camunda:outputParameter`,`camunda:in`,`camunda:in:businessKey`,`camunda:out`,`camunda:field`,`camunda:Connector`,`camunda:executionListener`,`camunda:errorEventDefinition`]},Z={"bpmn:Task":[`bpmn:Task`,`bpmn:ServiceTask`,`bpmn:UserTask`,`bpmn:ScriptTask`,`bpmn:BusinessRuleTask`,`bpmn:SendTask`,`bpmn:ReceiveTask`,`bpmn:ManualTask`],"bpmn:Activity":[`bpmn:Activity`,`bpmn:Task`,`bpmn:ServiceTask`,`bpmn:UserTask`,`bpmn:ScriptTask`,`bpmn:BusinessRuleTask`,`bpmn:SendTask`,`bpmn:ReceiveTask`,`bpmn:ManualTask`,`bpmn:CallActivity`,`bpmn:SubProcess`,`bpmn:AdHocSubProcess`,`bpmn:Transaction`],"bpmn:Event":[`bpmn:Event`,`bpmn:StartEvent`,`bpmn:EndEvent`,`bpmn:IntermediateCatchEvent`,`bpmn:IntermediateThrowEvent`,`bpmn:BoundaryEvent`],"bpmn:CatchEvent":[`bpmn:CatchEvent`,`bpmn:StartEvent`,`bpmn:IntermediateCatchEvent`,`bpmn:BoundaryEvent`],"bpmn:ThrowEvent":[`bpmn:ThrowEvent`,`bpmn:EndEvent`,`bpmn:IntermediateThrowEvent`],"bpmn:Gateway":[`bpmn:Gateway`,`bpmn:ExclusiveGateway`,`bpmn:ParallelGateway`,`bpmn:InclusiveGateway`,`bpmn:EventBasedGateway`,`bpmn:ComplexGateway`]};function isRecord$1(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}e(isRecord$1,`isRecord`);function familyOfSchema(e){return typeof e==`string`?e.includes(`zeebe-element-templates-json-schema`)?`camunda-8`:e.includes(`element-templates-json-schema`)?`camunda-7`:null:null}function familyOfBindings(e){let t=(Array.isArray(e.properties)?e.properties:[]).flatMap(e=>isRecord$1(e)&&isRecord$1(e.binding)&&typeof e.binding.type==`string`?[e.binding.type]:[]),n=isRecord$1(e.elementType)?Object.keys(e.elementType):[];return[...t,...n].some(e=>e.includes(`zeebe:`))?`camunda-8`:[...t,...n].some(e=>e.includes(`camunda:`))?`camunda-7`:null}function familyOfTemplate(e,t=null){return familyOfSchema(e.$schema)??familyOfBindings(e)??t}function lineFromSyntaxError(e,t){let n=/line (\d+) column (\d+)/.exec(t);if(n)return Number(n[1]);let r=/position (\d+)/.exec(t);if(r)return e.slice(0,Number(r[1])).split(`
|
|
3
|
+
`).length;let i=/^Unexpected token '.', (?:\.\.\.)?"([\s\S]*)" is not valid JSON$/.exec(t);if(!i)return null;let a=e.indexOf(i[1]);return a<0?null:e.slice(0,a+i[1].length).split(`
|
|
4
|
+
`).length}function reasonOfSyntaxError(e){return e.replace(/^JSON\.parse: /,``).replace(/\s*\(line \d+ column \d+\)/,``).replace(/ in JSON at position \d+.*/,``).replace(/, (?:\.\.\.)?"[\s\S]*" is not valid JSON$/,``)}function noise(e,t){return!!(e.keyword===`oneOf`&&e.instancePath===``||e.schemaPath.startsWith(`#/oneOf/`)&&e.instancePath===``&&t.length>1||e.keyword===`if`)}function messageOf(e){let t=e.message??u(`app.templates.check.schemaFallback`),n=e.instancePath.replace(/^\//,``).split(`/`).map(e=>e.replace(/~1/g,`/`).replace(/~0/g,`~`)).join(` > `);return e.keyword===`errorMessage`||n===``?t:`${n}: ${t}`}function bindingIssues(e,t,n,r,i){let a=[],o=Array.isArray(e.properties)?e.properties:[],s=new Map;return o.forEach((e,o)=>{if(!isRecord$1(e)||!isRecord$1(e.binding)||typeof e.binding.type!=`string`)return;let c=`${n}/properties/${o}/binding`,l=e.binding.type,d=t===`camunda-8`&&l.startsWith(`camunda:`)?`camunda-7`:t===`camunda-7`&&l.startsWith(`zeebe:`)?`camunda-8`:null;if(d){a.push({code:`binding`,severity:`error`,message:u(`app.templates.check.bindingOtherEngine`,{type:l,index:o+1,engine:u(d===`camunda-7`?`app.templates.check.camunda7`:`app.templates.check.camunda8`),here:u(t===`camunda-8`?`app.templates.check.camunda8`:`app.templates.check.camunda7`)}),line:lineOfPointer(r,c),pointer:c,template:i});return}let f=typeof e.binding.name==`string`?e.binding.name:null;if(f===null||e.condition!==void 0)return;let p=`${l}\u0000${f}`,m=s.get(p);m===void 0?s.set(p,o):a.push({code:`binding`,severity:`warning`,message:u(`app.templates.check.bindingTwice`,{type:l,name:f,first:m+1,index:o+1}),line:lineOfPointer(r,c),pointer:c,template:i})}),a}function appliesIssues(e,t,n,r){let i=[],a=`${t}/appliesTo`,o=e.appliesTo,problem=(e,t=a,o=`error`)=>{i.push({code:`applies-to`,severity:o,message:e,line:lineOfPointer(n,t),pointer:t,template:r})};if(!Array.isArray(o))return problem(u(`app.templates.check.appliesToMissing`)),i;o.length===0&&problem(u(`app.templates.check.appliesToEmpty`)),o.forEach((e,t)=>{typeof e==`string`?/^[A-Za-z][\w-]*:[A-Za-z]/.test(e)||problem(u(`app.templates.check.appliesToType`,{type:e}),`${a}/${t}`):problem(u(`app.templates.check.appliesToText`,{index:t+1}),`${a}/${t}`)});let s=isRecord$1(e.elementType)?e.elementType.value:void 0;if(isRecord$1(e.elementType)&&typeof s!=`string`)i.push({code:`element-type`,severity:`error`,message:u(`app.templates.check.elementTypeValue`),line:lineOfPointer(n,`${t}/elementType`),pointer:`${t}/elementType`,template:r});else if(typeof s==`string`){let e=o.filter(e=>typeof e==`string`),a=e.filter(e=>Z[e]!==void 0);a.length>0&&e.every(e=>Z[e]!==void 0)&&!a.some(e=>Z[e].includes(s))&&!e.includes(s)&&i.push({code:`element-type`,severity:`error`,message:u(`app.templates.check.elementTypeOutside`,{element:s,applies:e.join(`, `)}),line:lineOfPointer(n,`${t}/elementType`),pointer:`${t}/elementType`,template:r})}return i}function schemaIssues(e,t,n,r,i){let a=(t===`camunda-7`?E(e):T(e)).errors??[],o=new Set,s=[];for(let e of a){if(noise(e,a)||e.instancePath===`/appliesTo`||e.instancePath.startsWith(`/appliesTo/`)||e.keyword===`type`&&e.instancePath===``&&t===`camunda-8`&&a.length>1)continue;let c=messageOf(e),l=`${n}${e.instancePath}`,u=`${l}|${c}`;o.has(u)||(o.add(u),s.push({code:`schema`,severity:`error`,message:c,line:lineOfPointer(r,l),pointer:l,template:i}))}return s}function engineIssue(e,t,n,r,i,a){if(!isRecord$1(e.engines))return[];let o=e.engines.camunda;if(typeof o!=`string`)return[];let s=`${r}/engines/camunda`,c=lineOfPointer(i,s);if(satisfies(`8.0.0`,o)===null&&satisfies(`7.0.0`,o)===null)return[{code:`engine`,severity:`warning`,message:u(`app.templates.check.engineRange`,{range:o}),line:c,pointer:s,template:a}];let l=(t?n.versions?.[t]:void 0)??[],d=l.filter(e=>satisfies(e,o)===!1);return l.length===0||d.length<l.length?[]:[{code:`engine`,severity:`error`,message:u(`app.templates.check.engineMismatch`,{range:o,versions:d.join(`, `)}),line:c,pointer:s,template:a}]}function schemaVersionIssue(e,t,n,r,i){if(typeof e!=`string`||t===null)return[];let a=/@(\d+\.\d+\.\d+)/.exec(e);if(!a)return[];let o=t===`camunda-8`?D():O();if(!newerThan(a[1],o))return[];let s=`${n}/$schema`;return[{code:`schema-newer`,severity:`warning`,message:u(`app.templates.check.schemaNewer`,{pinned:a[1],supported:o}),line:lineOfPointer(r,s),pointer:s,template:i}]}function schemaFamilyIssues(e,t,n,r,i){let a=e.$schema,o=`${n}/$schema`,s=lineOfPointer(r,a===void 0?n:o),c=familyOfSchema(a),l=c??familyOfBindings(e)??t,issue=(e,t)=>({code:e,severity:`error`,message:t,line:s,pointer:a===void 0?n:o,template:i}),label=e=>u(e===`camunda-7`?`app.templates.check.camunda7`:`app.templates.check.camunda8`);return a===void 0?{family:l,issues:l===`camunda-8`?[issue(`schema-missing`,u(`app.templates.check.schemaMissing`,{schema:Y}))]:[]}:c===null?{family:l,issues:[issue(`schema-other`,u(`app.templates.check.schemaUnknown`))]}:t!==null&&c!==t?{family:c,issues:[issue(`schema-other`,u(`app.templates.check.schemaEngine`,{schema:label(c),engine:label(t)}))]}:{family:c,issues:[]}}function checkTemplateText(e,t={}){let n;try{n=JSON.parse(e)}catch(t){let n=t instanceof Error?t.message:String(t);return{parsed:!1,templates:[],issues:[{code:`syntax`,severity:`error`,message:u(`app.templates.check.syntax`,{reason:reasonOfSyntaxError(n)}),line:lineFromSyntaxError(e,n),pointer:``,template:null}]}}let r=pointerLines(e),i=t.engine??null,a=Array.isArray(n)?n:[n],o={parsed:!0,templates:[],issues:[]};return!Array.isArray(n)&&!isRecord$1(n)?(o.issues.push({code:`shape`,severity:`error`,message:u(`app.templates.check.notAnObject`),line:1,pointer:``,template:null}),o):(a.forEach((e,a)=>{let s=Array.isArray(n)?`/${a}`:``;if(!isRecord$1(e)){o.issues.push({code:`shape`,severity:`error`,message:u(`app.templates.check.entryNotAnObject`,{index:a+1}),line:lineOfPointer(r,s),pointer:s,template:null});return}let c=typeof e.id==`string`?e.id:null,l=c??``,{issues:d,family:f}=schemaFamilyIssues(e,i,s,r,l),p={index:a,pointer:s,line:lineOfPointer(r,s),id:c,name:typeof e.name==`string`?e.name:null,version:typeof e.version==`number`?e.version:null,family:f,value:e};o.templates.push(p),o.issues.push(...d,...schemaVersionIssue(e.$schema,familyOfSchema(e.$schema),s,r,l)),o.issues.push(...appliesIssues(e,s,r,l)),o.issues.push(...schemaIssues(e,f??`camunda-8`,s,r,l)),o.issues.push(...bindingIssues(e,f,s,r,l)),o.issues.push(...engineIssue(e,f,t,s,r,l))}),o)}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function indentOf(e){let t=/\n([ \t]+)\S/.exec(e);return t?t[1]:` `}function parseDocument$1(e){try{let t=JSON.parse(e);return Array.isArray(t)?{entries:t,list:!0,indent:indentOf(e)}:isRecord(t)?{entries:[t],list:!1,indent:indentOf(e)}:null}catch{return null}}e(parseDocument$1,`parseDocument`);function serialiseDocument(e){let t=e.list?e.entries:e.entries[0];return`${JSON.stringify(t,null,e.indent)}\n`}function replaceEntry(e,t,n){return{...e,entries:e.entries.map((e,r)=>r===t?n:e)}}function without(e,t){let{[t]:n,...r}=e;return r}function setField(e,t,n){return n===void 0||n===``||n===null?without(e,t):{...e,[t]:n}}function setTextList(e,t,n){let r=n.split(/[\n,]/).map(e=>e.trim()).filter(e=>e!==``);return r.length===0?without(e,t):{...e,[t]:r}}function setSchema(e,t){return{...e,$schema:t===`camunda-8`?Y:se}}function listOf$1(e,t){let n=e[t];return Array.isArray(n)?n.filter(isRecord):[]}e(listOf$1,`listOf`);function groupsOf(e){return listOf$1(e,`groups`)}function propertiesOf(e){let t=e.properties;return Array.isArray(t)?t.map(e=>isRecord(e)?e:{}):[]}function uniqueId(e,t){let n=e;for(let r=2;t.includes(n);r+=1)n=`${e}${r}`;return n}function addGroup(e){let t=groupsOf(e),n=uniqueId(`group`,t.map(e=>String(e.id??``)));return{...e,groups:[...t,{id:n,label:n}]}}function updateGroup(e,t,n){let r=groupsOf(e),i=r[t];if(!i)return e;let a=typeof n.id==`string`&&n.id!==i.id,o=r.map((e,r)=>r===t?{...e,...n}:e),s=a?propertiesOf(e).map(e=>e.group===i.id?{...e,group:n.id}:e):e.properties;return{...e,groups:o,...s===void 0?{}:{properties:s}}}function removeGroup(e,t){let n=groupsOf(e),r=n[t];if(!r)return e;let i=n.filter((e,n)=>n!==t),a=propertiesOf(e).map(e=>e.group===r.id?without(e,`group`):e),o={...e,properties:a};return i.length===0?without(o,`groups`):{...o,groups:i}}function defaultBinding(e){return e===`camunda-8`?{type:`zeebe:input`,name:``}:{type:`camunda:inputParameter`,name:``}}function addProperty(e,t){let n=propertiesOf(e),r=uniqueId(`field`,n.map(e=>isRecord(e.binding)?String(e.binding.name??``):``)),i={label:r,type:`String`,binding:{...defaultBinding(t),name:r}};return{...e,properties:[...n,i]}}function updateProperty(e,t,n){let r=propertiesOf(e);if(!r[t])return e;let i=r.map((e,r)=>{if(r!==t)return e;let i={...e};for(let[e,t]of Object.entries(n))i=t===void 0?without(i,e):{...i,[e]:t};return i});return{...e,properties:i}}function updateBinding(e,t,n){let r=propertiesOf(e)[t];if(!r)return e;let i=isRecord(r.binding)?{...r.binding}:{};for(let[e,t]of Object.entries(n))i=t===void 0||t===``?without(i,e):{...i,[e]:t};return typeof n.type==`string`&&!(`name`in n)&&!bindingNeedsName(n.type)&&(i=without(i,`name`)),updateProperty(e,t,{binding:i})}function bindingNeedsName(e){return!/^zeebe:(taskDefinition|calledElement|formDefinition|calledDecision|script|assignmentDefinition|priorityDefinition|adHoc|taskSchedule|agentDefinition|userTask|linkedResource)$|^zeebe:taskDefinition:type$|^camunda:(in:businessKey|Connector)$/.test(e)}function updateConstraints(e,t,n){let r=propertiesOf(e)[t];if(!r)return e;let i=isRecord(r.constraints)?{...r.constraints}:{};for(let[e,t]of Object.entries(n))i=t===void 0||t===``||t===!1?without(i,e):{...i,[e]:t};return updateProperty(e,t,{constraints:Object.keys(i).length===0?void 0:i})}function conditionOf(e){let t=e.condition;return!isRecord(t)||typeof t.property!=`string`?null:Array.isArray(t.oneOf)?{property:t.property,mode:`oneOf`,value:t.oneOf.join(`, `)}:`isActive`in t?{property:t.property,mode:`isActive`,value:``}:{property:t.property,mode:`equals`,value:t.equals===void 0?``:String(t.equals)}}function conditionJson(e){if(e&&e.property!==``)return e.mode===`isActive`?{property:e.property,isActive:!0}:e.mode===`oneOf`?{property:e.property,oneOf:e.value.split(`,`).map(e=>e.trim()).filter(e=>e!==``)}:{property:e.property,equals:e.value}}function setCondition(e,t,n){return updateProperty(e,t,{condition:conditionJson(n)})}function moveProperty(e,t,n){let r=propertiesOf(e);if(t===n||!r[t]||n<0||n>=r.length)return e;let i=[...r],[a]=i.splice(t,1);return i.splice(n,0,a),{...e,properties:i}}function removeProperty(e,t){return{...e,properties:propertiesOf(e).filter((e,n)=>n!==t)}}function choicesOf$1(e){let t=e.choices;return Array.isArray(t)?t.map(e=>isRecord(e)?{name:String(e.name??``),value:String(e.value??``)}:{name:String(e),value:String(e)}):[]}e(choicesOf$1,`choicesOf`);function setChoices(e,t,n){return updateProperty(e,t,{choices:n.map(e=>({name:e.name,value:e.value}))})}function bindingTypesFor(e,t){let n=ce[e];return t&&!n.includes(t)?[...n,t]:n}function TextControl({label:e,value:t,onValue:n,hint:r,optional:i,required:a,error:o,placeholder:s,type:l=`text`}){return c(A,{label:e,hint:r,optional:i,required:a,error:o,children:e=>c(`input`,{...e,type:l,value:t,placeholder:s,spellcheck:!1,onInput:e=>n(e.currentTarget.value)})})}function AreaControl({label:e,value:t,onValue:n,hint:r,optional:i}){return c(A,{label:e,hint:r,optional:i,children:e=>c(`textarea`,{...e,value:t,rows:2,onInput:e=>n(e.currentTarget.value)})})}function SelectControl({label:e,value:t,options:n,onValue:r,hint:i,optional:a}){return c(A,{label:e,hint:i,optional:a,children:e=>c(`select`,{...e,value:t,onChange:e=>r(e.currentTarget.value),children:n.map(e=>c(`option`,{value:e.value,children:e.label},e.value))})})}function CheckControl({label:e,checked:t,onValue:n,hint:r,caption:i}){return c(A,{label:e,hint:r,group:`group`,children:e=>c(`label`,{class:`ui-choice`,id:e.id,children:[c(`input`,{type:`checkbox`,checked:t,onChange:e=>n(e.currentTarget.checked)}),c(`span`,{children:i})]})})}function parse(e){return e.split(/[\n,]/).map(e=>e.trim()).filter(e=>e!==``)}function ListControl({label:e,items:n,onItems:r,hint:i,optional:a,error:o,placeholder:s}){let[u,d]=t(n.join(`, `));return l(()=>{d(e=>parse(e).join(`\0`)===n.join(`\0`)?e:n.join(`, `))},[n.join(`\0`)]),c(TextControl,{label:e,value:u,hint:i,optional:a,error:o,placeholder:s,onValue:e=>{d(e),r(parse(e))}})}var le=[``,`optional`,`required`,`static`];function text$2(e){return e==null?``:String(e)}e(text$2,`text`);function headingOf(e,t){let n=text$2(e.label);if(n!==``)return n;let r=isRecord(e.binding)?text$2(e.binding.name??e.binding.type):``;return r===``?u(`app.templates.editor.propertyHeading`,{number:t+1}):r}function PropertyEditor({template:e,index:t,family:n,issues:r,open:i,onToggle:o,onChange:s,onMove:l,onRemove:d,total:f}){let p=propertiesOf(e)[t],m=isRecord(p.binding)?p.binding:{},h=isRecord(p.constraints)?p.constraints:{},g=text$2(p.type)||`String`,_=text$2(m.type),v=conditionOf(p),y=propertiesOf(e).flatMap((e,n)=>n!==t&&typeof e.id==`string`&&e.id!==``?[e.id]:[]),patch=n=>s(updateProperty(e,t,n)),asCondition=n=>s(setCondition(e,t,{property:``,mode:`equals`,value:``,...v,...n})),b=r.filter(e=>e.severity===`error`).length,x=choicesOf$1(p),yes=e=>h[e]===!0,S=isRecord(h.pattern)?text$2(h.pattern.value):text$2(h.pattern);return c(`section`,{class:`template-property${i?` is-open`:``}${b>0?` has-error`:``}`,"data-property":t,children:[c(`header`,{class:`template-property__header`,children:[c(`button`,{type:`button`,class:`template-property__toggle`,"aria-expanded":i,onClick:o,children:[c(`span`,{class:`template-property__title`,children:headingOf(p,t)}),c(`span`,{class:`template-property__type type-help`,children:g}),r.length>0&&c(`span`,{class:`template-property__issues type-badge${b>0?` is-error`:``}`,children:r.length})]}),c(`span`,{class:`template-property__actions`,children:[c(`button`,{type:`button`,class:`ui-button ui-button--quiet`,disabled:t===0,onClick:()=>l(t-1),"aria-label":u(`app.templates.editor.moveUp`),title:u(`app.templates.editor.moveUp`),children:`↑`}),c(`button`,{type:`button`,class:`ui-button ui-button--quiet`,disabled:t===f-1,onClick:()=>l(t+1),"aria-label":u(`app.templates.editor.moveDown`),title:u(`app.templates.editor.moveDown`),children:`↓`}),c(`button`,{type:`button`,class:`ui-button ui-button--quiet ui-button--danger`,onClick:d,children:u(`app.templates.editor.remove`)})]})]}),i&&c(`div`,{class:`template-property__body`,children:[c(TextControl,{label:u(`app.templates.editor.label`),value:text$2(p.label),onValue:e=>patch({label:e===``?void 0:e})}),c(SelectControl,{label:u(`app.templates.editor.type`),value:g,options:[...X,...X.includes(g)?[]:[g]].map(e=>({value:e,label:e})),onValue:e=>patch({type:e})}),c(AreaControl,{label:u(`app.templates.editor.description`),optional:!0,value:text$2(p.description),onValue:e=>patch({description:e===``?void 0:e})}),g===`Boolean`?c(CheckControl,{label:u(`app.templates.editor.defaultValue`),caption:u(`app.templates.editor.checkedByDefault`),checked:p.value===!0||p.value===`true`,onValue:e=>patch({value:e?!0:void 0})}):g===`Dropdown`&&x.length>0?c(SelectControl,{label:u(`app.templates.editor.defaultValue`),optional:!0,value:text$2(p.value),options:[{value:``,label:``},...x.map(e=>({value:e.value,label:e.name||e.value}))],onValue:e=>patch({value:e===``?void 0:e})}):c(TextControl,{label:u(`app.templates.editor.defaultValue`),optional:!0,value:text$2(p.value),onValue:e=>patch({value:e===``?void 0:e})}),c(TextControl,{label:u(`app.templates.editor.propertyId`),optional:!0,value:text$2(p.id),hint:u(`app.templates.editor.propertyIdHint`),onValue:e=>patch({id:e===``?void 0:e})}),c(SelectControl,{label:u(`app.templates.editor.group`),optional:!0,value:text$2(p.group),options:[{value:``,label:u(`app.templates.editor.noGroup`)},...groupsOf(e).map(e=>({value:text$2(e.id),label:text$2(e.label)||text$2(e.id)}))],onValue:e=>patch({group:e===``?void 0:e})}),c(CheckControl,{label:u(`app.templates.editor.optional`),caption:u(`app.templates.editor.mayStayEmpty`),checked:p.optional===!0,onValue:e=>patch({optional:e?!0:void 0})}),c(`h4`,{class:`template-form__subheading type-section-heading`,children:u(`app.templates.editor.binding`)}),c(SelectControl,{label:u(`app.templates.editor.bindingType`),value:_,options:bindingTypesFor(n,_===``?null:_).map(e=>({value:e,label:e})),onValue:n=>s(updateBinding(e,t,{type:n}))}),bindingNeedsName(_)&&_!==`zeebe:output`&&c(TextControl,{label:u(`app.templates.editor.bindingName`),value:text$2(m.name),onValue:n=>s(updateBinding(e,t,{name:n}))}),_===`zeebe:output`&&c(TextControl,{label:u(`app.templates.editor.bindingSource`),value:text$2(m.source),hint:u(`app.templates.editor.bindingSourceHint`),onValue:n=>s(updateBinding(e,t,{source:n}))}),c(`h4`,{class:`template-form__subheading type-section-heading`,children:u(`app.templates.editor.constraints`)}),c(CheckControl,{label:u(`app.templates.editor.notEmpty`),caption:u(`app.templates.editor.mustBeFilled`),checked:yes(`notEmpty`),onValue:n=>s(updateConstraints(e,t,{notEmpty:n}))}),c(TextControl,{label:u(`app.templates.editor.minLength`),type:`number`,optional:!0,value:text$2(h.minLength),onValue:n=>s(updateConstraints(e,t,{minLength:n===``?void 0:Number(n)}))}),c(TextControl,{label:u(`app.templates.editor.maxLength`),type:`number`,optional:!0,value:text$2(h.maxLength),onValue:n=>s(updateConstraints(e,t,{maxLength:n===``?void 0:Number(n)}))}),c(TextControl,{label:u(`app.templates.editor.pattern`),optional:!0,value:S,hint:u(`app.templates.editor.patternHint`),onValue:n=>s(updateConstraints(e,t,{pattern:n===``?void 0:{value:n}}))}),(g===`String`||g===`Text`||g===`Number`)&&c(SelectControl,{label:u(`app.templates.editor.feelMode`),optional:!0,value:text$2(p.feel),options:le.map(e=>({value:e,label:u(`app.templates.editor.feelOptions.${e===``?`none`:e}`)})),onValue:e=>patch({feel:e===``?void 0:e})}),g===`Dropdown`&&c(`div`,{class:`template-choices`,children:[c(`h4`,{class:`template-form__subheading type-section-heading`,children:u(`app.templates.editor.choices`)}),x.map((n,r)=>c(`div`,{class:`template-choices__row`,children:[c(`input`,{class:`ui-input`,"aria-label":u(`app.templates.editor.choiceName`),placeholder:u(`app.templates.editor.choiceName`),value:n.name,onInput:n=>s(setChoices(e,t,x.map((e,t)=>t===r?{...e,name:n.currentTarget.value}:e)))}),c(`input`,{class:`ui-input`,"aria-label":u(`app.templates.editor.choiceValue`),placeholder:u(`app.templates.editor.choiceValue`),value:n.value,onInput:n=>s(setChoices(e,t,x.map((e,t)=>t===r?{...e,value:n.currentTarget.value}:e)))}),c(`button`,{type:`button`,class:`ui-button ui-button--quiet ui-button--danger`,onClick:()=>s(setChoices(e,t,x.filter((e,t)=>t!==r))),children:u(`app.templates.editor.remove`)})]},r)),c(`button`,{type:`button`,class:`ui-button ui-button--quiet ui-button--primary`,onClick:()=>s(setChoices(e,t,[...x,{name:``,value:``}])),children:u(`app.templates.editor.addChoice`)})]}),c(`h4`,{class:`template-form__subheading type-section-heading`,children:u(`app.templates.editor.condition`)}),c(SelectControl,{label:u(`app.templates.editor.conditionProperty`),optional:!0,value:v?.property??``,options:[{value:``,label:u(`app.templates.editor.conditionNone`)},...(v&&!y.includes(v.property)&&v.property!==``?[v.property]:[]).concat(y).map(e=>({value:e,label:e}))],hint:y.length===0?u(`app.templates.editor.conditionNeedsIds`):void 0,onValue:n=>n===``?s(setCondition(e,t,null)):asCondition({property:n})}),v&&c(a,{children:[c(SelectControl,{label:u(`app.templates.editor.conditionIs`),value:v.mode,options:[{value:`equals`,label:u(`app.templates.editor.conditionEquals`)},{value:`oneOf`,label:u(`app.templates.editor.conditionOneOf`)},{value:`isActive`,label:u(`app.templates.editor.conditionActive`)}],onValue:e=>asCondition({mode:e})}),v.mode===`equals`&&c(TextControl,{label:u(`app.templates.editor.conditionValue`),value:v.value,onValue:e=>asCondition({value:e})}),v.mode===`oneOf`&&c(ListControl,{label:u(`app.templates.editor.conditionValue`),items:v.value.split(`,`).map(e=>e.trim()).filter(e=>e!==``),onItems:e=>asCondition({value:e.join(`, `)})})]}),r.length>0&&c(`ul`,{class:`template-property__problems`,children:r.map((e,t)=>c(`li`,{class:`type-help is-${e.severity}`,children:e.message},t))})]})]})}function text$1(e){return e==null?``:String(e)}e(text$1,`text`);function listOf(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function ownIssues(e,t){return e.filter(e=>e.pointer===t||e.pointer.startsWith(`${t}/`))}function firstError(e,t){return e.find(e=>e.pointer===t)?.message??null}function TemplateForm({template:e,family:n,issues:r,pointer:i,onChange:a}){let[o,s]=t(()=>new Set([0])),l=propertiesOf(e),d=groupsOf(e),f=isRecord(e.elementType)?e.elementType:{},p=isRecord(e.engines)?e.engines:{},toggle=e=>{let t=new Set(o);t.has(e)?t.delete(e):t.add(e),s(t)},at=e=>`${i}${e}`;return c(`div`,{class:`template-form`,children:[c(`section`,{class:`template-form__section`,children:[c(`h3`,{class:`template-form__heading type-section-heading`,children:u(`app.templates.editor.sectionTemplate`)}),c(TextControl,{label:u(`app.templates.editor.name`),required:!0,value:text$1(e.name),error:firstError(r,at(`/name`)),onValue:t=>a(setField(e,`name`,t))}),c(TextControl,{label:u(`app.templates.editor.id`),required:!0,value:text$1(e.id),error:firstError(r,at(`/id`)),onValue:t=>a(setField(e,`id`,t))}),c(TextControl,{label:u(`app.templates.editor.version`),type:`number`,optional:!0,value:text$1(e.version),error:firstError(r,at(`/version`)),onValue:t=>a(setField(e,`version`,t===``?void 0:Number(t)))}),c(AreaControl,{label:u(`app.templates.editor.description`),optional:!0,value:text$1(e.description),onValue:t=>a(setField(e,`description`,t))}),c(SelectControl,{label:u(`app.templates.editor.engine`),value:n,options:[{value:`camunda-8`,label:u(`app.templates.check.camunda8`)},{value:`camunda-7`,label:u(`app.templates.check.camunda7`)}],onValue:t=>a(setSchema(e,t))}),c(ListControl,{label:u(`app.templates.editor.appliesTo`),items:listOf(e.appliesTo),hint:u(`app.templates.editor.appliesToHint`),error:firstError(r,at(`/appliesTo`)),onItems:t=>a(setTextList(e,`appliesTo`,t.join(`,`)))}),c(TextControl,{label:u(`app.templates.editor.elementType`),optional:!0,value:text$1(f.value),hint:u(`app.templates.editor.elementTypeHint`),error:firstError(r,at(`/elementType`)),onValue:t=>a(t===``&&Object.keys(f).length<=1?setField(e,`elementType`,void 0):{...e,elementType:{...f,value:t}})}),c(CheckControl,{label:u(`app.templates.editor.entriesVisible`),caption:u(`app.templates.editor.keepDefaults`),hint:u(`app.templates.editor.entriesVisibleHint`),checked:e.entriesVisible===!0,onValue:t=>a(setField(e,`entriesVisible`,t?!0:void 0))}),c(ListControl,{label:u(`app.templates.editor.keywords`),optional:!0,items:listOf(e.keywords),onItems:t=>a(setTextList(e,`keywords`,t.join(`,`)))}),c(TextControl,{label:u(`app.templates.editor.documentationRef`),optional:!0,value:text$1(e.documentationRef),onValue:t=>a(setField(e,`documentationRef`,t))}),c(TextControl,{label:u(`app.templates.editor.runsOn`),optional:!0,value:text$1(p.camunda),hint:u(`app.templates.editor.runsOnHint`),error:firstError(r,at(`/engines/camunda`)),onValue:t=>{let n={...p,camunda:t};a(t===``?setField(e,`engines`,Object.keys(p).length<=1?void 0:(({camunda:e,...t})=>t)(p)):{...e,engines:n})}})]}),c(`section`,{class:`template-form__section`,children:[c(`h3`,{class:`template-form__heading type-section-heading`,children:u(`app.templates.editor.groups`)}),d.length===0&&c(`p`,{class:`template-form__empty type-help`,children:u(`app.templates.editor.noGroups`)}),d.map((t,n)=>c(`div`,{class:`template-group`,children:[c(`input`,{class:`ui-input`,"aria-label":u(`app.templates.editor.groupId`),placeholder:u(`app.templates.editor.groupId`),value:text$1(t.id),onInput:t=>a(updateGroup(e,n,{id:t.currentTarget.value}))}),c(`input`,{class:`ui-input`,"aria-label":u(`app.templates.editor.groupLabel`),placeholder:u(`app.templates.editor.groupLabel`),value:text$1(t.label),onInput:t=>a(updateGroup(e,n,{label:t.currentTarget.value}))}),c(`button`,{type:`button`,class:`ui-button ui-button--quiet ui-button--danger`,onClick:()=>a(removeGroup(e,n)),children:u(`app.templates.editor.remove`)})]},n)),c(`button`,{type:`button`,class:`ui-button ui-button--quiet ui-button--primary template-form__add`,onClick:()=>a(addGroup(e)),children:u(`app.templates.editor.addGroup`)})]}),c(`section`,{class:`template-form__section`,children:[c(`h3`,{class:`template-form__heading type-section-heading`,children:u(`app.templates.editor.properties`)}),l.length===0&&c(`p`,{class:`template-form__empty type-help`,children:u(`app.templates.editor.noProperties`)}),l.map((t,i)=>c(PropertyEditor,{template:e,index:i,total:l.length,family:n,issues:ownIssues(r,at(`/properties/${i}`)),open:o.has(i),onToggle:()=>toggle(i),onChange:a,onMove:t=>{a(moveProperty(e,i,t)),s(new Set)},onRemove:()=>{a(removeProperty(e,i)),s(new Set)}},i)),c(`button`,{type:`button`,class:`ui-button ui-button--quiet ui-button--primary template-form__add`,onClick:()=>{a(addProperty(e,n)),s(new Set([...o,l.length]))},children:u(`app.templates.editor.addProperty`)})]})]})}var ue=R.define();function diagnosticsOf(e,t){let n=e.doc.lines;return t.flatMap(t=>{let r=Math.min(Math.max(t.line??1,1),n),i=e.doc.line(r);return[{from:i.from,to:Math.max(i.to,i.from),severity:t.severity,message:t.message}]})}function TemplateSource({text:e,issues:t,reveal:n,fileName:r,onText:i}){let a=o(null),s=o(null),d=o(i);return d.current=i,l(()=>{let t=a.current;if(!t)return;let n=!0,r=new z,i=new I({parent:t,state:L.create({doc:e,extensions:[F,U,V,r.of([]),I.updateListener.of(e=>{e.docChanged&&!e.transactions.some(e=>e.annotation(ue))&&d.current(e.state.doc.toString())})]})});return s.current=i,H(`json`).then(e=>{n&&i.dispatch({effects:r.reconfigure(e)})}),()=>{n=!1,s.current=null,i.destroy()}},[]),l(()=>{let t=s.current;t&&t.state.doc.toString()!==e&&t.dispatch({changes:{from:0,to:t.state.doc.length,insert:e},annotations:ue.of(!0)})},[e]),l(()=>{let e=s.current;e&&e.dispatch(B(e.state,diagnosticsOf(e.state,t)))},[t,e]),l(()=>{let e=s.current;if(!e||!n)return;let t=e.state.doc.line(Math.min(Math.max(n.line,1),e.state.doc.lines));e.dispatch({selection:{anchor:t.from},effects:I.scrollIntoView(t.from,{y:`center`})}),e.focus()},[n?.nonce]),c(`div`,{class:`template-source`,ref:a,"aria-label":u(`app.templates.editor.sourceLabel`,{name:r})})}function definedSecretNames(e){let t=new Set;for(let n of e){let e=G(n);if(e!==null)for(let n of e.definitions)n.kind===`secret`&&(t.add(n.name),!n.direct&&e.prefix&&n.name.startsWith(e.prefix)&&n.name.length>e.prefix.length&&t.add(n.name.slice(e.prefix.length)))}return t}var ApiSpecError=class extends Error{},de=[`get`,`put`,`post`,`delete`,`patch`,`head`,`options`],fe=12,pe=6,me=1e5,he=/authorization|cookie|key|token|secret|pass(?:word|wd)|bearer|signature|session|credential/i,Q=me;function looksLikeCredential(e){return he.test(e)}function stripUserinfo(e){return e.replace(/^((?:[a-z][a-z0-9+.-]*:)?\/\/)?[^/?#]*@/i,(e,t)=>t??``)}function placeholderName(e){let t=e.replace(/[^A-Za-z0-9_]/g,`_`);return/^[A-Za-z_]/.test(t)?t:`_${t}`}var isNode=e=>typeof e==`object`&&!!e&&!Array.isArray(e),text=e=>typeof e==`string`&&e.trim()!==``?e:void 0,list=e=>Array.isArray(e)?e:[];function deref(e,t,n=0){if(!isNode(t))return null;let r=t.$ref;if(typeof r!=`string`)return t;if(!r.startsWith(`#/`)||n>fe)return null;let i=e;for(let e of r.slice(2).split(`/`)){if(!isNode(i))return null;i=i[decodeURIComponent(e).replace(/~1/g,`/`).replace(/~0/g,`~`)]}return deref(e,i,n+1)}function typeOf(e){return e?e.type===`integer`||e.type===`number`?`number`:e.type===`boolean`?`boolean`:e.type===`array`?`array`:e.type===`object`||isNode(e.properties)?`object`:`string`:`string`}function choicesOf(e){let t=list(e?.enum).filter(e=>typeof e==`string`);return t.length>0&&t.length===list(e?.enum).length?t:void 0}function fieldOf(e,t,n,r){let i=deref(e,n),a={name:t,type:typeOf(i),required:r},o=text(i?.description);o&&(a.description=o);let s=choicesOf(i);s&&a.type===`string`&&(a.choices=s);let c=i?.default??i?.example;return[`string`,`number`,`boolean`].includes(typeof c)&&(a.example=c),a}function mergedProperties(e,t,n=0,r=new Set){let i=r;if(isNode(t)&&typeof t.$ref==`string`){if(r.has(t.$ref))return null;i=new Set([...r,t.$ref])}let a=deref(e,t);if(!a||n>fe||Q<=0)return null;--Q;let o={},s=list(a.required).filter(e=>typeof e==`string`);for(let t of list(a.allOf)){let r=mergedProperties(e,t,n+1,i);r&&(Object.assign(o,r.properties),s.push(...r.required))}return isNode(a.properties)&&Object.assign(o,a.properties),Object.keys(o).length>0||typeof a.type==`string`||Array.isArray(a.allOf)?{properties:o,required:s}:null}function fieldsOfSchema(e,t){let n=deref(e,t);if(!n||n.type!==void 0&&n.type!==`object`&&!Array.isArray(n.allOf))return null;let r=mergedProperties(e,n);return!r||Object.keys(r.properties).length===0?null:Object.entries(r.properties).map(([t,n])=>fieldOf(e,t,n,r.required.includes(t)))}function parameterOf(e,t,n){let r=deref(e,t),i=text(r?.name),a=r?.in;if(!r||!i||a!==`path`&&a!==`query`&&a!==`header`)return null;let o=fieldOf(e,i,n?{...r}:r.schema,a===`path`||r.required===!0),s=text(r.description)??o.description;return{...o,in:a,...s?{description:s}:{}}}function slug$1(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/[^A-Za-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).toLowerCase()}e(slug$1,`slug`);function uniqueIds(e){let t=new Map;for(let n of e){let e=slug$1(n.id)||`operation`,r=(t.get(e)??0)+1;t.set(e,r),n.id=r===1?e:`${e}-${r}`}}function errorStatusesOf(e){return isNode(e)?Object.keys(e).filter(e=>/^[45]\d\d$/.test(e)).sort().slice(0,pe):[]}function securityOf(e){if(!Array.isArray(e))return null;let t=e.find(e=>isNode(e));return isNode(t)?Object.keys(t):[]}function bodyOfOpenApi(e,t){let n=deref(e,t);if(!n||!isNode(n.content))return null;let r=Object.keys(n.content),i=r.find(e=>/^application\/(.+\+)?json/i.test(e)),a=i??r[0];if(!a)return null;let o=deref(e,n.content[a]);return{contentType:a,fields:i?fieldsOfSchema(e,o?.schema):null,required:n.required===!0}}function bodyOfSwagger(e,t,n){let r=t.find(e=>e.in===`body`);if(!r)return null;let i=n.find(e=>/json/i.test(e))??n[0]??`application/json`;return{contentType:i,fields:/json/i.test(i)?fieldsOfSchema(e,r.schema):null,required:r.required===!0}}function authOfOpenApi(e){let t=deref(e,(isNode(e.components)?e.components:{}).securitySchemes)??{};return Object.entries(t).flatMap(([t,n])=>{let r=deref(e,n);if(!r)return[];let i=String(r.type??``);if(i===`http`){let e=String(r.scheme??``).toLowerCase();return[{name:t,kind:e===`basic`?`basic`:e===`bearer`?`bearer`:`unsupported`,label:`http ${e}`}]}if(i===`apiKey`){let e=r.in===`query`?`query`:r.in===`header`?`header`:null;return[e&&text(r.name)?{name:t,kind:`apiKey`,where:e,parameter:String(r.name),label:`apiKey`}:{name:t,kind:`unsupported`,label:`apiKey in cookie`}]}if(i===`oauth2`){let n=deref(e,(isNode(r.flows)?r.flows:{}).clientCredentials);return n&&text(n.tokenUrl)?[{name:t,kind:`oauth2`,tokenUrl:stripUserinfo(String(n.tokenUrl)),scopes:isNode(n.scopes)?Object.keys(n.scopes):[],label:`oauth2 client credentials`}]:[{name:t,kind:`unsupported`,label:`oauth2`}]}return[{name:t,kind:`unsupported`,label:i||`unknown`}]})}function authOfSwagger(e){let t=isNode(e.securityDefinitions)?e.securityDefinitions:{};return Object.entries(t).flatMap(([e,t])=>{if(!isNode(t))return[];let n=String(t.type??``);if(n===`basic`)return[{name:e,kind:`basic`,label:`basic`}];if(n===`apiKey`){let n=t.in===`query`?`query`:t.in===`header`?`header`:null;return[n&&text(t.name)?{name:e,kind:`apiKey`,where:n,parameter:String(t.name),label:`apiKey`}:{name:e,kind:`unsupported`,label:`apiKey`}]}return n===`oauth2`&&t.flow===`application`&&text(t.tokenUrl)?[{name:e,kind:`oauth2`,tokenUrl:stripUserinfo(String(t.tokenUrl)),scopes:isNode(t.scopes)?Object.keys(t.scopes):[],label:`oauth2 application`}]:[{name:e,kind:`unsupported`,label:n||`unknown`}]})}function serverOf(e){let t=list(e.servers).find(e=>isNode(e)&&text(e.url));if(!isNode(t))return``;let n=isNode(t.variables)?t.variables:{},r=String(t.url).replace(/\{([^}]+)\}/g,(e,t)=>{let r=n[t];return isNode(r)&&r.default!==void 0?String(r.default):e});return/^https?:\/\//i.test(r)?stripUserinfo(r).replace(/\/+$/,``):``}function pathsOf(e,t){let n=isNode(e.paths)?e.paths:{},r=list(e.consumes).filter(e=>typeof e==`string`),i=[];for(let[a,o]of Object.entries(n)){let n=deref(e,o);if(n)for(let o of de){let s=deref(e,n[o]);if(!s)continue;let c=new Map;for(let t of[...list(n.parameters),...list(s.parameters)]){let n=deref(e,t);n&&c.set(`${String(n.in)}:${String(n.name)}`,n)}let l=[...c.values()],u=l.map(n=>parameterOf(e,n,t)).filter(e=>e!==null),d=list(s.consumes).filter(e=>typeof e==`string`);i.push({id:text(s.operationId)??`${o}-${a}`,method:o.toUpperCase(),path:a,summary:text(s.summary),description:text(s.description),tags:list(s.tags).filter(e=>typeof e==`string`),parameters:u,body:t?bodyOfSwagger(e,l,d.length>0?d:r):bodyOfOpenApi(e,s.requestBody),security:securityOf(s.security),errorStatuses:errorStatusesOf(s.responses)})}}return i}function fromOpenApi(e){let t=isNode(e.info)?e.info:{},n=pathsOf(e,!1);return uniqueIds(n),{format:`openapi-3`,title:text(t.title)??u(`app.templates.generate.untitled`),version:text(t.version)??``,baseUrl:serverOf(e),operations:n,auth:authOfOpenApi(e),defaultSecurity:securityOf(e.security)}}function fromSwagger(e){let t=isNode(e.info)?e.info:{},n=pathsOf(e,!0);uniqueIds(n);let r=list(e.schemes).find(e=>typeof e==`string`)??`https`,i=text(e.host),a=(text(e.basePath)??``).replace(/\/+$/,``);return{format:`swagger-2`,title:text(t.title)??u(`app.templates.generate.untitled`),version:text(t.version)??``,baseUrl:i?stripUserinfo(`${r}://${i}${a}`):``,operations:n,auth:authOfSwagger(e),defaultSecurity:securityOf(e.security)}}function postmanAuthOf(e,t){if(!isNode(e))return null;let n=String(e.type??``);if(n===`noauth`)return[];let entries=t=>new Map(list(e[t]).filter(isNode).map(e=>[String(e.key),String(e.value??``)])),r=null;if(n===`bearer`)r={name:`bearer`,kind:`bearer`,label:`bearer`};else if(n===`basic`)r={name:`basic`,kind:`basic`,label:`basic`};else if(n===`apikey`){let e=entries(`apikey`),t=e.get(`key`)||`X-API-Key`;r={name:`apikey-${slug$1(t)}`,kind:`apiKey`,where:e.get(`in`)===`query`?`query`:`header`,parameter:t,label:`apiKey`}}else if(n===`oauth2`){let e=entries(`oauth2`);r=e.get(`grant_type`)===`client_credentials`&&e.get(`accessTokenUrl`)?{name:`oauth2`,kind:`oauth2`,tokenUrl:stripUserinfo(e.get(`accessTokenUrl`)),scopes:(e.get(`scope`)??``).split(/\s+/).filter(Boolean),label:`oauth2 client credentials`}:{name:`oauth2`,kind:`unsupported`,label:`oauth2`}}else r={name:n||`auth`,kind:`unsupported`,label:n||`unknown`};return t.has(r.name)||t.set(r.name,r),[r.name]}function jsonFields(e){let t;try{t=JSON.parse(e)}catch{return null}return!isNode(t)||Object.keys(t).length===0?null:Object.entries(t).map(([e,t])=>{let n={name:e,type:typeof t==`number`?`number`:typeof t==`boolean`?`boolean`:Array.isArray(t)?`array`:isNode(t)?`object`:`string`,required:!1};return(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)&&(n.example=t),n})}function postmanTemplateOf(e){let t=/^((?:[a-z][a-z0-9+.-]*:\/\/)?[^/]*)(\/.*)?$/i.exec(e)??[],named=(e,t)=>`{${placeholderName(t.trim())}}`;return{origin:stripUserinfo(t[1]??``).replace(/\{\{([^}]+)\}\}/g,named),path:(t[2]??``).replace(/\{\{([^}]+)\}\}/g,named).replace(/\/:([A-Za-z0-9_]+)/g,`/{$1}`)}}function fromPostman(e){let t=isNode(e.info)?e.info:{},n=new Map,r=[],i=postmanAuthOf(e.auth,n),walk=(e,t,i)=>{for(let a of e){if(!isNode(a))continue;let e=postmanAuthOf(a.auth,n)??t;if(Array.isArray(a.item)){walk(a.item,e,[...i,text(a.name)??``]);continue}let o=typeof a.request==`string`?{method:`GET`,url:a.request}:isNode(a.request)?a.request:null;if(!o)continue;let s=isNode(o.url)?o.url:{raw:o.url},[c]=String(s.raw??``).split(`?`),{origin:l,path:u}=postmanTemplateOf(c),d=[],addParameter=(e,t,n)=>{d.some(n=>n.name===e&&n.in===t)||d.push({name:e,in:t,type:`string`,required:t===`path`,...typeof n==`string`&&n!==``?{example:n}:{}})};for(let e of`${l}${u}`.matchAll(/\{([^}]+)\}/g))addParameter(e[1],`path`);for(let e of list(s.query).filter(isNode))e.disabled!==!0&&text(e.key)&&addParameter(String(e.key),`query`,e.value);for(let e of list(o.header).filter(isNode))e.disabled!==!0&&text(e.key)&&String(e.key).toLowerCase()!==`content-type`&&addParameter(String(e.key),`header`,e.value);let f=isNode(o.body)&&o.body.mode===`raw`&&text(o.body.raw)?{contentType:`application/json`,fields:jsonFields(String(o.body.raw)),required:!1}:null,p=text(a.name)??`${String(o.method??`GET`)} ${u}`,m=typeof o.description==`string`?o.description:isNode(o.description)?text(o.description.content):void 0,h=postmanAuthOf(o.auth,n);r.push({id:[...i.filter(Boolean),p].join(` `),method:String(o.method??`GET`).toUpperCase(),path:u===``?`/`:u,...l?{baseUrl:l}:{},summary:p,description:text(m),tags:i.filter(Boolean).slice(0,1),parameters:d,body:f,security:h??e,errorStatuses:[]})}};walk(list(e.item),i,[]),uniqueIds(r);let a=r.find(e=>e.baseUrl&&/^https?:\/\//i.test(e.baseUrl));return{format:`postman`,title:text(t.name)??u(`app.templates.generate.untitled`),version:``,baseUrl:a?.baseUrl?.replace(/\/+$/,``)??``,operations:r.map(e=>e.baseUrl===a?.baseUrl?{...e,baseUrl:void 0}:e),auth:[...n.values()],defaultSecurity:i}}function parseDocument(e){let t=e.trim();if(t.startsWith(`{`))try{return JSON.parse(t)}catch(e){throw new ApiSpecError(u(`app.templates.generate.unreadable`,{reason:e instanceof Error?e.message:String(e)}))}try{return W(e,{maxAliasCount:100})}catch(e){throw new ApiSpecError(u(`app.templates.generate.unreadable`,{reason:e instanceof Error?e.message.split(`
|
|
5
|
+
`)[0]:String(e)}))}}function scrubCredentials(e){let t=new Set(e.auth.filter(e=>e.kind===`apiKey`&&e.parameter).map(e=>String(e.parameter).toLowerCase())),scrub=e=>{(looksLikeCredential(e.name)||t.has(e.name.toLowerCase()))&&(e.credential=!0,delete e.example,delete e.choices)};for(let t of e.operations){for(let e of t.parameters)scrub(e);for(let e of t.body?.fields??[])scrub(e)}}function parseApiDescription(e){let t=parseDocument(e);if(Q=me,!isNode(t))throw new ApiSpecError(u(`app.templates.generate.unrecognised`));let n;if(typeof t.openapi==`string`&&t.openapi.startsWith(`3`))n=fromOpenApi(t);else if(String(t.swagger)===`2.0`)n=fromSwagger(t);else if(isNode(t.info)&&Array.isArray(t.item))n=fromPostman(t);else throw new ApiSpecError(u(`app.templates.generate.unrecognised`));if(n.operations.length===0)throw new ApiSpecError(u(`app.templates.generate.noOperations`));return scrubCredentials(n),n}var ge=`io.camunda:http-json:1`,_e=`PENSTOCK_`,ve=`__`,ye=[{id:`authentication`,label:`Authentication`},{id:`request`,label:`HTTP request`},{id:`parameters`,label:`Parameters`},{id:`body`,label:`Request body`},{id:`response`,label:`Response`},{id:`errors`,label:`Error handling`}];function slug(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/[^A-Za-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).toLowerCase()}function camel(e){return slug(e).split(`-`).filter(Boolean).map((e,t)=>t===0?e:e[0].toUpperCase()+e.slice(1)).join(``)||`operation`}function upperSnake(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1_$2`).replace(/[^A-Za-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).toUpperCase()}function sentence(e){let t=e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[_.-]+/g,` `).trim();return t===``?e:t[0].toUpperCase()+t.slice(1)}var be=32;function collapsed(e){return e.replace(/_+/g,`_`).replace(/^_+|_+$/g,``)}function secretPrefix(e,t){if(t!=null&&t!==``)return collapsed(t);let n=/^(?:[a-z][a-z0-9+.-]*:)?\/\/([^/?#:]*)/i.exec(e.baseUrl)?.[1]??``;return`${_e}${collapsed(upperSnake(e.title).slice(0,be))||collapsed(upperSnake(n).slice(0,be))||`API`}`}function secret(e,t,n){let r=collapsed(upperSnake(t))||`VALUE`,i=`${e.prefix}${ve}${n===``||r.endsWith(n)?r:`${r}_${n}`}`;return e.secrets.add(i),`{{secrets.${i}}}`}function defang(e){return typeof e==`string`?e.replace(/\{(?=\{)/g,`{ `):Array.isArray(e)?e.map(defang):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,t])=>[defang(e),defang(t)])):e}var xe=/secrets[\s\u00ad\u200b-\u200f\u2060\ufeff]*[.\uff0e]/gi;function breakReferences(e){return e.replace(xe,e=>`${e.slice(0,7)} `)}function textOnly(e){return typeof e==`string`?breakReferences(e):Array.isArray(e)?e.map(textOnly):e}function scrubTemplate(e){let scrubProperty=e=>({...e,...e.label===void 0?{}:{label:textOnly(e.label)},...e.description===void 0?{}:{description:textOnly(e.description)},...Array.isArray(e.choices)?{choices:e.choices.map(e=>({...e,name:textOnly(e.name)}))}:{}});return{...e,name:textOnly(e.name),description:textOnly(e.description),keywords:textOnly(e.keywords),groups:e.groups.map(e=>({...e,label:textOnly(e.label)})),properties:e.properties.map(scrubProperty)}}function feelString(e){return JSON.stringify(e)}function literal(e){return e.trimStart().startsWith(`=`)?`=${feelString(e)}`:e}function urlText(e){return feelString(e.replace(/\{/g,`%7B`).replace(/\}/g,`%7D`))}function property(e,t,n,r=`zeebe:input`){return{...e,group:t,binding:r===`zeebe:taskHeader`?{type:r,key:n}:{type:r,name:n}}}function hidden(e,t,n){return property({type:`Hidden`,value:n},e,t)}function typed(e,t,n,r,i=[]){let a=[t.description,...i].filter(Boolean).join(` `),o={label:sentence(t.name),...a?{description:a}:{}},s=t.required?{constraints:{notEmpty:!0}}:{optional:!0};if(t.credential||looksLikeCredential(t.name))return property({...o,type:`String`,feel:`optional`,value:secret(e,t.name,``),...s},n,r);if(t.choices&&t.choices.length>0){let e=t.example===void 0?t.choices[0]:String(t.example);return property({...o,type:`Dropdown`,choices:t.choices.map(e=>({name:e,value:literal(e)})),value:literal(e),...s},n,r)}if(t.type===`boolean`)return property({...o,type:`Boolean`,...typeof t.example==`boolean`?{value:t.example}:{},...s},n,r);if(t.type===`array`||t.type===`object`)return property({...o,type:`Text`,feel:`required`,...s},n,r);let c=t.example===void 0?{}:{value:literal(String(t.example))};return property({...o,type:`String`,feel:`optional`,...c,...s},n,r)}function urlExpression(e,t){let n=[],r=`${stripUserinfo(e)}${t}`,i=0;for(let e of r.matchAll(/\{([^}]+)\}/g))e.index>i&&n.push(urlText(r.slice(i,e.index))),n.push(`string(path.${placeholderName(e[1])})`),i=e.index+e[0].length;return i<r.length&&n.push(urlText(r.slice(i))),`=${n.length===0?`""`:n.join(` + `)}`}function authProperties(e,t){if(!t||t.kind===`unsupported`)return[hidden(`authentication`,`authentication.type`,`noAuth`)];let text=(e,t,n)=>property({label:e,type:`String`,feel:`optional`,value:n,constraints:{notEmpty:!0}},`authentication`,t);if(t.kind===`basic`)return[hidden(`authentication`,`authentication.type`,`basic`),text(`Username`,`authentication.username`,secret(e,t.name,`USERNAME`)),text(`Password`,`authentication.password`,secret(e,t.name,`PASSWORD`))];if(t.kind===`bearer`)return[hidden(`authentication`,`authentication.type`,`bearer`),text(`Bearer token`,`authentication.token`,secret(e,t.name,`TOKEN`))];if(t.kind===`oauth2`)return[hidden(`authentication`,`authentication.type`,`oauth-client-credentials-flow`),text(`OAuth 2.0 token endpoint`,`authentication.oauthTokenEndpoint`,literal(stripUserinfo(t.tokenUrl??``))),text(`Client ID`,`authentication.clientId`,secret(e,t.name,`CLIENT_ID`)),text(`Client secret`,`authentication.clientSecret`,secret(e,t.name,`CLIENT_SECRET`)),...(t.scopes??[]).length>0?[property({label:`Scopes`,type:`String`,feel:`optional`,value:literal((t.scopes??[]).join(` `)),optional:!0},`authentication`,`authentication.scopes`)]:[]];let n=t.where===`query`?`queryParameters`:`headers`;return[hidden(`authentication`,`authentication.type`,`noAuth`),property({label:`${sentence(t.parameter??t.name)} (API key)`,type:`String`,feel:`optional`,value:secret(e,t.name,``),constraints:{notEmpty:!0}},`authentication`,`${n}.${t.parameter}`)]}function errorExpression(e){return`=${[...e.errorStatuses.map(t=>`if error.code = ${feelString(t)} then bpmnError(${feelString(`HTTP_${t}`)}, ${feelString(`${e.method} ${e.path} answered ${t}`)})`),`null`].join(` else `)}`}function describe(e){let t=[e.description??e.summary,`${e.method} ${e.path}`];return[...new Set(t.filter(e=>!!e))].join(`
|
|
6
|
+
|
|
7
|
+
`)}function authFor(e,t,n){let r=(t.security??e.defaultSecurity??[])[0];if(!r)return null;let i=e.auth.find(e=>e.name===r);return i?i.kind===`unsupported`?(n.push(u(`app.templates.generate.warn.unsupportedAuth`,{scheme:i.name,kind:i.label,operation:t.id})),null):i:null}function templateOf(e,t,n,r,i){let a=authFor(t,n,i),o=n.baseUrl??t.baseUrl,s=[{type:`Hidden`,value:ge,binding:{type:`zeebe:taskDefinition:type`}}];s.push(...authProperties(e,a)),s.push(hidden(`request`,`method`,n.method));let c=n.parameters.filter(e=>e.in===`path`),l=n.parameters.filter(e=>e.in===`query`),u=n.parameters.filter(e=>e.in===`header`),place=(t,n)=>typed(e,t,`parameters`,`${n}.${n===`path`?placeholderName(t.name):t.name}`),d=a?.kind===`apiKey`?`${a.where===`query`?`query`:`header`}:${String(a.parameter).toLowerCase()}`:null,own=e=>`${e.in}:${e.name.toLowerCase()}`!==d;s.push(...c.map(e=>place(e,`path`))),s.push(property({label:`URL`,type:`String`,feel:`required`,value:urlExpression(o,n.path),constraints:{notEmpty:!0}},`request`,`url`)),s.push(...l.filter(own).map(e=>place(e,`queryParameters`))),s.push(...u.filter(own).map(e=>place(e,`headers`)));let f=n.body;f&&(s.push(hidden(`body`,`headers.Content-Type`,literal(f.contentType))),f.fields&&f.fields.length>0?s.push(...f.fields.map(t=>typed(e,t,`body`,`body.${t.name}`))):s.push(property({label:`Body`,type:`Text`,feel:`optional`,...f.required?{constraints:{notEmpty:!0}}:{optional:!0}},`body`,`body`))),s.push(property({label:`Result variable`,type:`String`,optional:!0,description:`Name of the variable that receives the whole response.`},`response`,`resultVariable`,`zeebe:taskHeader`),property({label:`Result expression`,type:`Text`,feel:`required`,optional:!0,value:`={ ${camel(n.id)}Result: response.body }`,description:`Maps the response (status, headers, body) to process variables.`},`response`,`resultExpression`,`zeebe:taskHeader`),property({label:`Error expression`,type:`Text`,feel:`required`,optional:!0,value:errorExpression(n),description:`Turns an HTTP error into a BPMN error a boundary event can catch, or returns null to fail the job.`},`errors`,`errorExpression`,`zeebe:taskHeader`));let p=`io.penstock.rest.${r}.${n.id}`,m=n.summary??`${n.method} ${n.path}`,h=`${t.title}: ${m}`,g=new Set(s.map(e=>String(e.group))),_={$schema:q,name:h,id:p,description:describe(n),version:1,appliesTo:[`bpmn:Task`],elementType:{value:`bpmn:ServiceTask`},keywords:[...new Set([t.title,n.method,...n.tags,n.id])],groups:ye.filter(e=>g.has(e.id)),properties:s};return{text:`${JSON.stringify(scrubTemplate(_),null,2)}\n`,properties:s.length,id:p,name:h,file:`${r}-${n.id}.json`}}function generateTemplates(e,t={}){let n=defang(e),r={prefix:secretPrefix(n,t.secretPrefix),secrets:new Set},i=[],a=slug(n.title)||`api`;n.baseUrl===``&&n.operations.some(e=>!e.baseUrl)&&i.push(u(`app.templates.generate.warn.noServer`));let o=(t.limit===null||t.limit===void 0?n.operations:n.operations.slice(0,t.limit)).map(e=>{let t=templateOf(r,n,e,a,i);return{id:t.id,file:t.file,name:t.name,operation:e.id,method:e.method,path:e.path,properties:t.properties,text:t.text}}),s=[...r.secrets].sort(),c=new Set(t.existingSecrets??[]);for(let e of s)c.has(e)&&i.push(u(`app.templates.generate.warn.secretExists`,{name:e}));return{title:n.title,format:n.format,total:n.operations.length,templates:o,warnings:[...new Set(i)],secrets:s,prefix:r.prefix}}async function projectSecrets(){return definedSecretNames(K(await ie.read()))}var Se=`.camunda/element-templates`;function joined(e,t){let n=e.includes(`\\`)?`\\`:`/`;return[e.replace(/[\\/]+$/,``),...Se.split(`/`),t].join(n)}function GenerateTemplates({bridge:e,onClose:n,existingSecrets:r=projectSecrets}){let[i,o]=t(null),[s,d]=t(``),[f,p]=t(null),[m,h]=t(!1),[g,_]=t(null),[v,y]=t([]),[b,x]=t(!1);l(()=>{let e=!0;return r().then(t=>e&&y([...t]),()=>void 0),()=>{e=!1}},[]),l(()=>{let t=!0;return(async()=>{try{let n=await e.getLicense();t&&n&&n.tier!==`FREE`&&x(!0)}catch{return}})(),()=>{t=!1}},[e]);let read=async e=>{if(_(null),o(null),p(null),e){d(e.name);try{o(parseApiDescription(await e.text()))}catch(t){p(t instanceof ApiSpecError?t.message:u(`app.templates.generate.unreadable`,{file:e.name}))}}},write=async()=>{if(i){h(!0),p(null);try{if(!await e.requestFeature(J.API_TEMPLATES))return;let t=generateTemplates(i,{existingSecrets:v}),n=(await e.getProjectFiles()).root;if(n===``){p(u(`app.templates.generate.dialog.noFolder`));return}let r=t.templates.map(e=>({template:e,path:joined(n,e.file)})),a=[];for(let t of r)await e.readFileIfPresent(t.path)!==null&&a.push(t.template.file);if(a.length>0&&!await e.confirmWithUser({title:u(`app.templates.generate.dialog.replaceTitle`),text:u(`app.templates.generate.dialog.replaceText`,{files:a.join(`, `)}),accept:u(`app.templates.generate.dialog.replace`),decline:u(`app.common.cancel`),warning:!0}))return;for(let t of r)await e.saveFile(t.path,t.template.text);let o=u(`app.templates.generate.dialog.written`,{count:r.length,folder:Se});_(t.secrets.length>0?`${o} ${u(`app.templates.generate.dialog.secretsAfter`,{names:t.secrets.join(`, `)})}`:o),await e.notifyUser(o)}catch(e){p(u(`app.templates.generate.dialog.failed`,{reason:e instanceof Error?e.message:String(e)}))}finally{h(!1)}}},S=i?generateTemplates(i,{limit:b?void 0:3,existingSecrets:v}):null,C=i?generateTemplates(i,{existingSecrets:v}):null;return c(M,{title:u(`app.templates.generate.dialog.title`),size:`medium`,initialFocus:`first`,backdrop:`keep`,onClose:n,footer:c(j,{actions:[{id:`cancel`,label:u(g?`app.common.close`:`app.common.cancel`),role:`cancel`,onClick:n},{id:`write`,label:u(`app.templates.generate.dialog.write`),role:`primary`,disabled:i===null||i.operations.length===0||g!==null,busy:m,onClick:()=>void write()}]}),children:c(`div`,{class:`template-generate`,children:[c(`p`,{class:`type-help`,children:u(`app.templates.generate.dialog.intro`)}),c(`label`,{class:`template-generate__file type-body`,children:[c(`span`,{class:`type-label`,children:u(`app.templates.generate.dialog.file`)}),c(`input`,{type:`file`,accept:`.json,.yaml,.yml`,"aria-label":u(`app.templates.generate.dialog.file`),onChange:e=>void read(e.currentTarget.files?.[0])})]}),f!==null&&c(`p`,{class:`template-generate__problem type-help`,role:`alert`,children:f}),g!==null&&c(`p`,{class:`template-generate__done type-body`,role:`status`,children:g}),S!==null&&c(a,{children:[c(`p`,{class:`type-body`,role:`status`,children:u(`app.templates.generate.dialog.summary`,{title:S.title,total:S.total,file:s})}),S.total>S.templates.length&&c(`p`,{class:`type-help`,children:u(`app.templates.generate.dialog.preview`,{shown:S.templates.length,total:S.total})}),c(`table`,{class:`template-loading__table`,children:c(`tbody`,{children:S.templates.map(e=>c(`tr`,{children:[c(`td`,{class:`type-table-cell`,children:e.method}),c(`td`,{class:`type-table-cell`,children:e.path}),c(`td`,{class:`type-table-cell template-loading__file`,children:e.file})]},e.file))})}),C!==null&&C.secrets.length>0&&c(`div`,{class:`template-generate__secrets`,children:[c(`p`,{class:`type-help`,children:u(`app.templates.generate.dialog.secretsBefore`)}),c(`ul`,{class:`template-generate__secret-list`,"aria-label":u(`app.templates.generate.dialog.secretsLabel`),children:C.secrets.map(e=>c(`li`,{class:`type-body`,children:e},e))})]}),(C??S).warnings.map(e=>c(`p`,{class:`template-generate__warning type-help`,children:e},e))]})]})})}function folderKindOf(e){let t=e.replace(/\\/g,`/`).split(`/`).slice(0,-1);for(let e=0;e<t.length;e+=1){if(t[e]!==`element-templates`)continue;let n=t[e-1];if(n===`.camunda`||n===`resources`)return`modeler`}return t.includes(`element-templates`)?`other`:`none`}function looksLikeTemplate(e){let t;try{t=JSON.parse(e)}catch{return!1}let n=Array.isArray(t)?t:[t];return n.length>0&&n.every(e=>{if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return familyOfSchema(t.$schema)!==null||`appliesTo`in t&&`properties`in t})}function keyOf$1(e){return e.id===null?null:`${e.id}\u0000${e.version??``}`}e(keyOf$1,`keyOf`);function errorsOf(e){return e.filter(e=>e.severity===`error`).map(e=>e.message)}function diagnoseTemplates(e,t={}){let n=[...e].sort((e,t)=>e.path<t.path?-1:+(e.path>t.path)).map(e=>({file:e,folder:folderKindOf(e.path),result:checkTemplateText(e.text,t)})),r=new Map,i=new Map;for(let{file:e,result:t}of n)for(let n of t.templates){let t=keyOf$1(n);if(t===null)continue;let a=r.get(t);if(!a){r.set(t,{path:e.path,line:n.line});continue}let o={code:`duplicate`,severity:`error`,message:u(n.version===null?`app.templates.check.duplicateNoVersion`:`app.templates.check.duplicate`,{id:n.id??``,version:n.version??0,where:`${a.path}${a.line?`:${a.line}`:``}`}),line:n.line,pointer:n.pointer,template:n.id};i.set(`${e.path}\u0000${n.pointer}`,[o])}let a=[];for(let{file:e,folder:t,result:r}of n){if(t===`none`&&!looksLikeTemplate(e.text))continue;let n=[],o=[];if(t!==`modeler`){let e=u(t===`other`?`app.templates.check.folderOther`:`app.templates.check.folderNone`);o.push(e),n.push({code:`folder`,severity:`warning`,message:e,line:null,pointer:``,template:null})}let s=[...n,...r.issues.filter(e=>e.template===null)],c=r.templates.map(n=>{let a=[...r.issues.filter(e=>e.template!==null&&(n.pointer===``||e.pointer===n.pointer||e.pointer.startsWith(`${n.pointer}/`))),...i.get(`${e.path}\u0000${n.pointer}`)??[]],s=errorsOf(a),c={loads:t===`modeler`&&s.length===0,reasons:[...o,...s]},l={loads:n.family!==`camunda-7`&&s.length===0,reasons:[...n.family===`camunda-7`?[u(`app.templates.check.webCamunda7`)]:[],...s]};return{id:n.id,name:n.name,version:n.version,family:n.family,line:n.line,desktop:c,web:l,issues:a}}),l=errorsOf(s),pooled=(e,t)=>({loads:c.some(t=>e(t).loads),reasons:c.length===0?t:[...new Set(c.flatMap(t=>e(t).loads?[]:e(t).reasons))]});a.push({path:e.path,folder:t,parsed:r.parsed,issues:s,templates:c,desktop:pooled(e=>e.desktop,[...o,...l]),web:pooled(e=>e.web,l)})}let o=a.filter(e=>e.desktop.loads).length;return{files:a,loading:o,notLoading:a.length-o}}function relativeTo(e,t){let n=e.replace(/\\/g,`/`).replace(/\/+$/,``),r=t.replace(/\\/g,`/`);return n!==``&&r.startsWith(`${n}/`)?r.slice(n.length+1):r.replace(/^\/+/,``)}async function loadingReportOf(e,t,n){let r=await e.list().catch(()=>({root:``,paths:[]})),i=n?relativeTo(r.root,n.path):null,a=new Map;for(let e of r.paths)a.set(relativeTo(r.root,e),e);i!==null&&!a.has(i)&&n&&a.set(i,n.path);let o=[];return await Promise.all([...a].map(async([t,r])=>{try{let a=n&&t===i?n.text:await e.read(r);o.push({path:t,text:a})}catch{return}})),diagnoseTemplates(o,{engine:t})}function verdict(e,t){let n=e.templates.filter(e=>e[t].loads).length;return e.templates.length>1&&n>0&&n<e.templates.length?u(`app.templates.editor.loading.some`,{loaded:n,total:e.templates.length}):e[t].loads?u(`app.templates.editor.loading.loads`):u(`app.templates.editor.loading.notLoaded`)}function reasonsOf(e){let t=e.issues.map(e=>({text:e.message,line:e.line,error:e.severity===`error`})),n=e.templates.flatMap(e=>e.issues.map(e=>({text:e.message,line:e.line,error:e.severity===`error`})));return[...t,...n]}function TemplateLoading({reader:e,family:n,current:r,currentName:i,bridge:o}){let[s,d]=t(null),[f,p]=t(0),[m,h]=t(!1);return l(()=>{let t=!0;return loadingReportOf(e??{list:()=>Promise.resolve({root:``,paths:[]}),read:()=>Promise.reject(Error(`no host`))},n,r).then(e=>{t&&d(e)}),()=>{t=!1}},[e,n,r?.path,r?.text,f]),c(`div`,{class:`template-loading`,children:[c(`header`,{class:`template-loading__header`,children:[c(`div`,{children:[c(`h3`,{class:`template-loading__title`,children:u(`app.templates.editor.loading.title`)}),c(`p`,{class:`template-loading__intro type-help`,children:u(`app.templates.editor.loading.intro`)})]}),c(`span`,{class:`template-loading__actions`,children:[o&&c(`button`,{type:`button`,class:`ui-button`,onClick:()=>h(!0),children:u(`app.templates.generate.open`)}),c(`button`,{type:`button`,class:`ui-button`,onClick:()=>p(f+1),children:u(`app.templates.editor.loading.refresh`)})]})]}),m&&o&&c(GenerateTemplates,{bridge:o,onClose:()=>{h(!1),p(f+1)}}),s===null&&c(`p`,{class:`template-loading__note type-help`,role:`status`,children:u(`app.templates.editor.loading.reading`)}),s!==null&&s.files.length===0&&c(N,{title:u(`app.templates.editor.loading.none`),hint:u(`app.templates.editor.loading.noneHint`)}),s!==null&&s.files.length>0&&c(a,{children:[c(`p`,{class:`template-loading__summary type-body`,role:`status`,children:u(`app.templates.editor.loading.summary`,{loading:s.loading,total:s.files.length})}),c(`table`,{class:`template-loading__table`,children:[c(`thead`,{children:c(`tr`,{children:[c(`th`,{class:`type-table-header`,children:u(`app.templates.editor.loading.file`)}),c(`th`,{class:`type-table-header`,children:u(`app.templates.editor.loading.desktop`)}),c(`th`,{class:`type-table-header`,children:u(`app.templates.editor.loading.web`)}),c(`th`,{class:`type-table-header`,children:u(`app.templates.editor.loading.reason`)})]})}),c(`tbody`,{children:s.files.map(e=>c(`tr`,{class:e.path.endsWith(`/${i}`)||e.path===i?`is-current`:``,children:[c(`td`,{class:`type-table-cell template-loading__file`,children:e.path}),c(`td`,{class:`type-table-cell template-loading__verdict ${e.desktop.loads?`is-yes`:`is-no`}`,children:verdict(e,`desktop`)}),c(`td`,{class:`type-table-cell template-loading__verdict ${e.web.loads?`is-yes`:`is-no`}`,children:verdict(e,`web`)}),c(`td`,{class:`type-table-cell`,children:c(`ul`,{class:`template-loading__reasons`,children:reasonsOf(e).map((e,t)=>c(`li`,{class:e.error?`is-error`:`is-warning`,children:[e.line?`${e.line}: `:``,e.text]},t))})})]},e.path))})]})]})]})}function keyOf(e,t){return typeof e.id==`string`&&e.id!==``?e.id:`#${t}`}function defaultOf(e){return e.type===`Boolean`?e.value===!0||e.value===`true`:e.value!==void 0&&e.value!==null?String(e.value):e.type===`Dropdown`?choicesOf$1(e)[0]?.value??``:``}function initialValues(e){let t={};return propertiesOf(e).forEach((e,n)=>{t[keyOf(e,n)]=defaultOf(e)}),t}function same(e,t){return String(e)===String(t)}function holds(e,t){if(!isRecord(e))return!0;if(Array.isArray(e.allMatch))return e.allMatch.every(e=>holds(e,t));if(typeof e.property!=`string`)return!0;let n=t[e.property];return n===void 0?!1:Array.isArray(e.oneOf)?e.oneOf.some(e=>same(e,n)):`equals`in e?same(e.equals,n):`isActive`in e?e.isActive===!0==(n!==``&&n!==!1):!0}function bindingText(e){if(!isRecord(e.binding))return``;let{type:t,name:n}=e.binding;return typeof n==`string`&&n!==``?`${String(t)}: ${n}`:String(t??``)}function previewOf(e,t){let n=groupsOf(e).map(e=>({id:String(e.id??``),label:String(e.label??e.id??``)})).map(e=>({...e,fields:[]})),r={id:``,label:u(`app.templates.editor.customProperties`),fields:[]},i=0;propertiesOf(e).forEach((e,a)=>{if(e.type===`Hidden`){i+=1;return}let o=keyOf(e,a),s=isRecord(e.constraints)?e.constraints:{},c={index:a,key:o,label:typeof e.label==`string`&&e.label!==``?e.label:bindingText(e),type:typeof e.type==`string`?e.type:`String`,description:typeof e.description==`string`&&e.description!==``?e.description:null,optional:e.optional===!0,choices:choicesOf$1(e),value:t[o]??defaultOf(e),required:s.notEmpty===!0,feel:typeof e.feel==`string`?e.feel:null,visible:holds(e.condition,t),binding:bindingText(e)};(n.find(t=>t.id===e.group)??r).fields.push(c)});let a=[...r.fields.length>0?[r]:[],...n].filter(e=>e.fields.length>0);return{title:typeof e.name==`string`&&e.name!==``?e.name:String(e.id??``),description:typeof e.description==`string`&&e.description!==``?e.description:null,version:typeof e.version==`number`?e.version:null,groups:a,hidden:i,entriesVisible:e.entriesVisible===!0,documentation:typeof e.documentationRef==`string`?e.documentationRef:null}}function Control({field:e,onValue:t}){let n=e.label,r={"aria-label":n,class:`ui-input`};return e.type===`Boolean`?c(`label`,{class:`ui-choice`,children:[c(`input`,{type:`checkbox`,checked:e.value===!0,onChange:e=>t(e.currentTarget.checked)}),c(`span`,{children:n})]}):e.type===`Dropdown`?c(`select`,{...r,value:String(e.value),onChange:e=>t(e.currentTarget.value),children:e.choices.map(e=>c(`option`,{value:e.value,children:e.name||e.value},e.value))}):e.type===`Text`?c(`textarea`,{...r,rows:3,value:String(e.value),onInput:e=>t(e.currentTarget.value)}):c(`input`,{...r,type:e.type===`Number`?`number`:`text`,value:String(e.value),onInput:e=>t(e.currentTarget.value)})}function TemplatePreview({template:e}){let[n,r]=t({}),i=s(()=>e?JSON.stringify((Array.isArray(e.properties)?e.properties:[]).map(e=>[e?.id,e?.type,e?.value])):``,[e]);if(l(()=>{r(e?initialValues(e):{})},[i]),!e)return c(N,{title:u(`app.templates.editor.nothingToPreview`),hint:u(`app.templates.editor.previewFillsIn`)});let a=previewOf(e,{...initialValues(e),...n}),o=a.groups.reduce((e,t)=>e+t.fields.filter(e=>!e.visible).length,0);return c(`div`,{class:`template-preview`,children:[c(`header`,{class:`template-preview__header`,children:[c(`h3`,{class:`template-preview__title`,children:a.title}),a.version!==null&&c(`span`,{class:`template-preview__version type-badge`,children:u(`app.templates.editor.versionNumber`,{version:a.version})}),a.description&&c(`p`,{class:`template-preview__description type-help`,children:a.description})]}),a.groups.length===0&&c(`p`,{class:`template-preview__note type-help`,children:u(`app.templates.editor.noFieldsYet`)}),a.groups.map(e=>c(`section`,{class:`template-preview__group`,children:[c(`h4`,{class:`template-preview__group-title type-section-heading`,children:e.label}),e.fields.filter(e=>e.visible).map(e=>c(`div`,{class:`template-preview__field`,children:[e.type!==`Boolean`&&c(`label`,{class:`template-preview__label type-field-label`,children:[e.label,e.optional&&c(`span`,{class:`template-preview__optional`,children:[` `,u(`app.common.optional`)]}),e.required&&c(`span`,{class:`template-preview__required`,"aria-hidden":`true`,children:` *`}),e.feel&&c(`span`,{class:`template-preview__feel type-badge`,children:u(`app.templates.editor.feelBadge`)})]}),c(Control,{field:e,onValue:t=>r(n=>({...n,[e.key]:t}))}),e.description&&c(`p`,{class:`template-preview__hint type-help`,children:e.description})]},e.key))]},e.id||`#general`)),o>0&&c(`p`,{class:`template-preview__note type-help`,children:u(`app.templates.editor.hiddenByConditions`,{count:o})}),a.hidden>0&&c(`p`,{class:`template-preview__note type-help`,children:u(`app.templates.editor.hiddenProperties`,{count:a.hidden})}),c(`p`,{class:`template-preview__note type-help`,children:a.entriesVisible?u(`app.templates.editor.defaultsShown`):u(`app.templates.editor.defaultsHidden`)})]})}var Ce=i(null),we=Ce.Provider;function facts(){let e=r(Ce);if(!e)throw Error(`the template tabs need their facts`);return e}function PreviewTab(){return c(`div`,{class:`sidebar-preview`,children:c(TemplatePreview,{template:facts().template})})}function ProblemsTab(){let{findings:e,onPick:t}=facts();return c(`div`,{class:`problems`,children:[c(`header`,{class:`problems__bar`,children:c(`span`,{class:`problems__count`,children:u(`app.problems.tally`,{count:e.length})})}),e.length===0&&c(N,{title:u(`app.diagramCheck.noProblemsFound`),hint:u(`app.templates.editor.matchesSchema`)}),e.length>0&&c(`ul`,{class:`diagram-check__list`,children:e.map((e,n)=>c(`li`,{children:c(`button`,{type:`button`,class:`diagram-check__row`,onClick:()=>t(n),children:[c(`span`,{class:`diagram-check__row-title`,children:e.title}),c(`span`,{class:`diagram-check__row-where diagram-check__row-where--wrap`,children:e.detail})]})},n))})]})}var $=P([{id:`preview`,icon:`properties`,component:PreviewTab},{id:`problems`,icon:`problems`,component:ProblemsTab,padded:!0}]);function startHistory(e){return{past:[],present:e,future:[],stamp:0}}function record(e,t,n,r){return t===e.present?e:{past:r&&e.past.length>0&&n-e.stamp<800?e.past:[...e.past,e.present].slice(-200),present:t,future:[],stamp:n}}function replace(e,t){return t===e.present?e:{...e,present:t,stamp:0}}function undo(e){if(e.past.length===0)return e;let t=e.past[e.past.length-1];return{past:e.past.slice(0,-1),present:t,future:[e.present,...e.future],stamp:0}}function redo(e){if(e.future.length===0)return e;let[t,...n]=e.future;return{past:[...e.past,e.present],present:t,future:n,stamp:0}}function canUndo(e){return e.past.length>0}function canRedo(e){return e.future.length>0}var Te=$.map(e=>e.id);function engineFamily(e){return e===`camunda-8`?`camunda-8`:e===`camunda-7`||e===`operaton`||e===`cib-seven`?`camunda-7`:null}function readerOf(e){return{list:async()=>{let t=await e.bridge.getProjectFiles();return{root:t.root,paths:(t.templates??[]).map(e=>e.path)}},read:t=>e.bridge.readFile(t)}}function TemplateEditorView({text:e,options:r}){let{client:i,engine:a,fileName:f,file:p}=r,[m,h]=t(()=>startHistory(e)),v=o(m);v.current=m;let[S,C]=t(`form`),[w,T]=t(0),[E,D]=t(null),O=y(Te,`form`),k=x(O.toggle),A=ne({ready:!0,suspended:!1}),j=o(null),M=m.present;l(()=>{j.current=te({save:e=>{let t=i.bpmn.saveBpmnXml(e);return t.catch(e=>console.error(`Failed to save element template:`,e)),t}});let e=i.bridge.onDocumentChanged?.(e=>{e!==v.current.present&&(j.current?.reloaded(e),h(t=>replace(t,e)))});return()=>{e?.(),j.current=null}},[i]);let P=n((e,t)=>{let n=Date.now();h(r=>{let i=record(r,e,n,t);return i!==r&&j.current?.edited(i.present),i})},[]),F=n(e=>{h(t=>{let n=e(t);return n!==t&&j.current?.edited(n.present),n})},[]),I=s(()=>parseDocument$1(M),[M]),L=s(()=>{let e=I?.entries[Math.min(w,(I?.entries.length??1)-1)];return engineFamily(a)??(isRecord(e)?familyOfTemplate(e):null)},[I,a,w]),R=s(()=>checkTemplateText(M,{engine:engineFamily(a)}),[M,a]),z=I?Math.min(w,I.entries.length-1):0,B=I&&isRecord(I.entries[z])?I.entries[z]:null,V=I?.list?`/${z}`:``,H=s(()=>R.issues.map(e=>({title:e.message,detail:e.line?u(`app.templates.editor.atLine`,{line:e.line}):``,severity:e.severity})),[R]),showSource=e=>{C(`source`),e!==null&&D({line:e,nonce:Date.now()})},pick=e=>showSource(R.issues[e]?.line??null),toggle=e=>()=>C(S===e?`form`:e),U=O.state.tab===`problems`&&!O.state.hidden,W={unreadable:I===null,history:{undo:canUndo(m),redo:canRedo(m)},open:{check:U,source:S===`source`,loading:S===`loading`,sidebar:!O.state.hidden},commands:{undo:()=>F(undo),redo:()=>F(redo),check:()=>U?O.select(`preview`):O.select(`problems`),source:toggle(`source`),loading:toggle(`loading`),toggleSidebar:k,focusCanvas:re,showLicence:i.bridge.showLicence?()=>void i.bridge.showLicence?.():void 0,chooseTheme:ee(i.bridge,`editorTheme`)?d:void 0}},G=g(oe,W),K=b(G),q=s(()=>readerOf(i),[i]),J=S===`source`?c(TemplateSource,{text:M,issues:R.issues,reveal:E,fileName:f,onText:e=>P(e,!0)}):S===`loading`?c(TemplateLoading,{reader:q,family:L,current:p?{path:p,text:M}:null,currentName:f,bridge:i.bridge}):I===null?c(N,{title:u(`app.templates.editor.unreadable`),hint:R.issues[0]?.message??u(`app.templates.editor.unreadableHint`),actions:[{label:u(`app.templates.editor.openSource`),run:()=>showSource(R.issues[0]?.line??null)}]}):B===null?c(N,{title:u(`app.templates.editor.notATemplate`),hint:u(`app.templates.editor.notATemplateHint`),actions:[{label:u(`app.templates.editor.openSource`),run:()=>showSource(null)}]}):c(`div`,{class:`template-editor__scroll`,children:[I.list&&I.entries.length>1&&c(`nav`,{class:`template-editor__entries`,"aria-label":u(`app.templates.editor.entries`),children:I.entries.map((e,t)=>c(`button`,{type:`button`,class:`ui-button${t===z?` ui-button--primary`:``}`,"aria-pressed":t===z,onClick:()=>T(t),children:isRecord(e)&&typeof e.name==`string`&&e.name!==``?e.name:u(`app.templates.editor.entry`,{number:t+1,total:I.entries.length})},t))}),c(TemplateForm,{template:B,family:L??`camunda-8`,issues:R.issues,pointer:V,onChange:e=>P(serialiseDocument(replaceEntry(I,z,e)),!0)})]});return c(we,{value:{template:B,findings:H,onPick:pick},children:c(_,{className:`template-editor`,notice:A,toolbarItems:K,tabs:$,sidebar:O,edit:{undo:()=>F(undo),redo:()=>F(redo)},badges:{problems:R.issues.length||void 0},children:c(`div`,{class:`resource-editor__canvas template-editor__canvas`,children:J})})})}function TemplateDocument({handle:e}){let t=s(()=>new ae(S(k(),e)),[e]),n=o(e.initialText),r=window.appConfig?.engine??void 0;return c(TemplateEditorView,{text:n.current,options:{client:t,engine:r,fileName:e.name,file:e.rel}})}export{TemplateDocument};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,i as t,r as n,u as r}from"./vendor-NJP34MHU.js";import{t as i}from"./dist-CJx_2eBF.js";import{I as a,ht as o,lt as s,pt as c}from"./dist-BrFvWnvj.js";import{i as l}from"./translator-BLCeE6UY.js";import{t as u}from"./intelligence-DNqJNmdB.js";import{r as d}from"./files-DI8LgQfb.js";import{i as f,n as p,r as m,t as h}from"./source-frame-DC4W0A5-.js";var g=s.define();function TextDocument({handle:s}){let _=t(null),[v,y]=e(null),b=d(s.path),x=f(b);return r(()=>{let e=_.current;if(!e)return;let t=!0;y(null);let n=new c,r=new c,l=new a({parent:e,state:o.create({doc:s.initialText,extensions:[i,h,p,n.of([]),r.of([]),a.updateListener.of(e=>{e.docChanged&&!e.transactions.some(e=>e.annotation(g))&&s.edit(e.state.doc.toString())})]})});m(x).then(e=>{t&&l.dispatch({effects:n.reconfigure(e)})}),u(l,r,s,x,{noServer:e=>t&&y(e)},()=>t);let d=s.onReload(e=>{l.state.doc.toString()!==e&&l.dispatch({changes:{from:0,to:l.state.doc.length,insert:e},annotations:g.of(!0)})});return()=>{t=!1,d(),l.destroy()}},[s,x]),n(`div`,{class:`web-source`,children:[n(`div`,{class:`web-source__bar`,children:n(`span`,{class:`web-source__path type-help`,title:b,children:b})}),v&&n(`p`,{class:`web-source__hint type-help`,role:`status`,children:l(`app.web.code.noServer`,{server:v})}),n(`div`,{class:`web-source__editor`,ref:_,"aria-label":l(`app.web.text.label`,{name:s.name})})]})}export{TextDocument};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-B8BYMn-z.js";import{r as e}from"./vendor-NJP34MHU.js";import{i as t}from"./translator-
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{r as e}from"./vendor-NJP34MHU.js";import{i as t}from"./translator-BLCeE6UY.js";import{r as n}from"./platform-G53Cenyw.js";import{t as r}from"./bridgeInstance-qzSInqLW.js";import{s as i}from"./ui-BLtm3Y1J.js";import{r as a}from"./dmn-Cgoh6wXm.js";import{i as o}from"./open-Vkx72dYx.js";function ResourceProblemsTab({findings:n,waiting:r,clean:a,onRecheck:o,onPick:s}){let c=n?.length??0;return e(`div`,{class:`problems`,children:[e(`header`,{class:`problems__bar`,children:[e(`span`,{class:`problems__count`,children:n?t(`app.problems.tally`,{count:c}):``}),e(`button`,{type:`button`,class:`ui-button`,onClick:o,title:t(`app.common.checkAgain`),children:t(`app.common.recheck`)})]}),n===null&&e(i,{title:r,hint:t(`app.editorShell.useCheckInTheToolbar`),guide:`problems`}),n!==null&&c===0&&e(i,{title:t(`app.diagramCheck.noProblemsFound`),hint:a,guide:`problems`}),n!==null&&c>0&&e(`ul`,{class:`diagram-check__list`,children:n.map((t,n)=>e(`li`,{children:e(`button`,{type:`button`,class:`diagram-check__row`,onClick:()=>s(n),children:[e(`span`,{class:`diagram-check__row-title`,children:t.title}),e(`span`,{class:`diagram-check__row-where diagram-check__row-where--wrap`,children:t.detail})]})},n))})]})}function historyState(e){return{undo:!!e?.canUndo?.(),redo:!!e?.canRedo?.()}}function UnreadableFileLayer({message:i,kind:s,client:c,onReload:l}){if(i===null)return null;let openText=()=>{let e=r().getBpmnFilePath();e&&r().openAsText(e).catch(e=>console.error(`Failed to open as text:`,e))},reload=async()=>{let e=r().getBpmnFilePath();if(e)try{let t=await c.file.readFile(e);t&&l(t)}catch(e){console.error(`Failed to read the file again:`,e),n.error(t(`app.canvas.unableToReadTheFile`))}};return e(o,{problem:a(Error(i)),kind:s,onOpenText:openText,onReload:()=>void reload()})}export{historyState as n,ResourceProblemsTab as r,UnreadableFileLayer as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,h as t,r as n}from"./vendor-NJP34MHU.js";import{i as r}from"./translator-
|
|
1
|
+
import"./rolldown-runtime-B8BYMn-z.js";import{c as e,h as t,r as n}from"./vendor-NJP34MHU.js";import{i as r}from"./translator-BLCeE6UY.js";import{d as i,f as a,h as o,m as s,o as c}from"./ui-BLtm3Y1J.js";import{d as l}from"./files-DI8LgQfb.js";import{_ as u,g as d,o as f}from"./web-C4k0NLZ9.js";function uploadProblem(e,t,n){let i=t.trim();if(i!==``&&l(i)===null)return{folder:r(`app.web.newFile.folderOutside`)};let a=i===``?``:`${l(i)}/`,o=new Set(n.map(e=>e.rel.toLowerCase())),s=new Set;for(let t=0;t<e.length;t+=1){let n=e[t].name.trim(),i=u(n);if(i)return{index:t,text:i};if(!f(n))return{index:t,text:r(`app.web.upload.extension`)};let c=`${a}${n}`.toLowerCase();if(o.has(c)||s.has(c))return{index:t,text:r(`app.web.newFile.exists`)};s.add(c)}return null}function UploadDialog({files:u,existing:f,folders:p,onUpload:m,onClose:h}){let[g,_]=e(()=>u.map(e=>({file:e,name:e.name}))),[v,y]=e(``),[b,x]=e(!1),[S,C]=e(null),w=c(),T=uploadProblem(g,v,f),upload=async()=>{if(w.submit(),T)requestAnimationFrame(()=>document.querySelector(`.ui-dialog [aria-invalid="true"]`)?.focus());else{x(!0),C(null);try{let e=v.trim()===``?``:`${l(v.trim())}/`;await m(await Promise.all(g.map(async t=>({rel:`${e}${t.name.trim()}`,content:await t.file.text()})))),h()}catch(e){C(d(e)),x(!1)}}},nameError=e=>T&&`index`in T&&T.index===e?w.errorOf(`name${e}`,T.text):null,E=T&&`folder`in T?w.errorOf(`folder`,T.folder):null;return n(s,{title:r(`app.web.upload.title`),size:`medium`,onClose:h,onSubmit:()=>void upload(),footer:n(o,{actions:[{id:`cancel`,label:r(`app.common.cancel`),role:`cancel`,onClick:h,disabled:b},{id:`upload`,label:g.length===1?r(`app.web.upload.addOne`):r(`app.web.upload.addMany`,{count:g.length}),role:`primary`,onClick:()=>void upload(),busy:b}]}),children:[n(`p`,{class:`web-dialog-text type-body`,children:r(`app.web.upload.text`)}),n(i,{label:r(`app.web.newFile.folder`),optional:!0,hint:r(`app.web.newFile.folderHint`),error:E,children:e=>n(t,{children:[n(`input`,{...e,value:v,list:`web-upload-folders`,spellcheck:!1,autocomplete:`off`,onInput:e=>y(e.target.value),onBlur:()=>w.touch(`folder`)}),n(`datalist`,{id:`web-upload-folders`,children:p.slice(0,500).map(e=>n(`option`,{value:e},e))})]})}),g.map((e,t)=>n(i,{label:g.length===1?r(`app.web.newFile.name`):r(`app.web.upload.fileN`,{number:t+1}),error:nameError(t),children:r=>n(`input`,{...r,value:e.name,spellcheck:!1,autocomplete:`off`,onInput:e=>{let n=e.target.value;_(e=>e.map((e,r)=>r===t?{...e,name:n}:e))},onBlur:()=>w.touch(`name${t}`)})},t)),S&&n(a,{children:S})]})}export{UploadDialog};
|