{"_id":"@0dep/bpmn-extensions","_rev":"9-5eb7fa1855b77670a5ae52918494367e","name":"@0dep/bpmn-extensions","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"@0dep/bpmn-extensions","version":"0.0.1","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"author":{"url":"https://github.com/paed01","name":"Pål Edman"},"license":"MIT","_id":"@0dep/bpmn-extensions@0.0.1","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"homepage":"https://github.com/zerodep/bpmn-extensions#readme","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"c8":{"exclude":["dist","test"]},"dist":{"shasum":"200bf0faf90762adbde0c09d1b68066cead0b2fa","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-0.0.1.tgz","fileCount":24,"integrity":"sha512-dJQ2wATNe6zNavFymymJJzeL2z+oC6hLlZZ4wzHY3dDMnh3vMs27IohP1Q88dPEw/fno27HYKSLyJ43jsYUnVQ==","signatures":[{"sig":"MEUCIEzbd0cvm3jvQWxw77UGlhyaKKLLY8JLq11VZNqf31I4AiEA+z4elT4VMCktdZ832v13dZhe7ciAqLphffgAyt7frTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627264},"main":"dist/index.js","type":"module","types":"./types/index.d.ts","module":"src/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js","require":"./dist/index.js"}},"gitHead":"bc3c276a232fd2532916c5056fa92b201cdd6d60","scripts":{"dist":"rollup -c","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","prepack":"npm run dist && npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"_npmUser":{"name":"paed01","email":"pal.edman@outlook.com"},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"10.9.8","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"feelin":"^7.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","eslint":"^10.6.0","rollup":"^4.62.2","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","bpmn-moddle":"^9.0.1","bpmn-elements":"^18.0.4","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^1.15.0","@rollup/plugin-commonjs":"^29.0.3","moddle-context-serializer":"^6.0.1","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"bpmn-elements":">=18.0.4"},"_npmOperationalInternal":{"tmp":"tmp/bpmn-extensions_0.0.1_1782670990333_0.03884583271843978","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@0dep/bpmn-extensions","version":"0.0.2","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"author":{"url":"https://github.com/paed01","name":"Pål Edman"},"license":"MIT","_id":"@0dep/bpmn-extensions@0.0.2","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"homepage":"https://github.com/zerodep/bpmn-extensions#readme","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"c8":{"exclude":["dist","test"]},"dist":{"shasum":"e3d8e832020dc4389701c3efcfa2b43cb5f602f0","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-0.0.2.tgz","fileCount":24,"integrity":"sha512-o5CMUgY/iUEXCRNCPDHfAYEFQ52biPLRfOXV6qb5sTGVq3JdjIjrDk9xnYCm/3YRm2gbWIzF4UTUG+Jtu0gS5g==","signatures":[{"sig":"MEUCIQDMjJl35ZDEH3Pz0ovuWq45UKS/N/ZnGMwzYMpnkDWapAIgBmsjhHaQjkvRXGDoqmh8qOk5JUoz7KkPc4nEzYw9JQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0dep%2fbpmn-extensions@0.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":628709},"main":"dist/index.js","type":"module","types":"./types/index.d.ts","module":"src/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js","require":"./dist/index.js"}},"gitHead":"66a2d8d958f713f33575ad8bf088f600f31261c1","scripts":{"dist":"rollup -c","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","prepack":"npm run dist && npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98dde5db-93b7-45a9-ba96-f567985c8e54"}},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"11.17.0","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"feelin":"^7.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","eslint":"^10.6.0","rollup":"^4.62.2","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","bpmn-moddle":"^9.0.1","bpmn-elements":"^18.0.4","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^1.15.0","@rollup/plugin-commonjs":"^29.0.3","moddle-context-serializer":"^6.0.1","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"bpmn-elements":">=18.0.4"},"_npmOperationalInternal":{"tmp":"tmp/bpmn-extensions_0.0.2_1782673777358_0.600567474365393","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@0dep/bpmn-extensions","version":"0.0.3","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"author":{"url":"https://github.com/paed01","name":"Pål Edman"},"license":"MIT","_id":"@0dep/bpmn-extensions@0.0.3","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"homepage":"https://github.com/zerodep/bpmn-extensions#readme","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"c8":{"exclude":["dist","test"]},"dist":{"shasum":"c41b8ffe340a95db1388f74747947a0feec85936","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-0.0.3.tgz","fileCount":25,"integrity":"sha512-IMFEU12Vqkzo3ZxZipJqU+R98PV/FwlOdxKE9C7dqRYCmsEtH/F4K9yjSILvuxOR8QV7VqRKZkJA1LwR684dhw==","signatures":[{"sig":"MEUCIHqoHkwYfdQ443wjX5DBSTfZPrt2AkJCXQB203y6m6ktAiEAkcGSeoa0OSXl9CbFGM5CQeiiuEGYQWksLXY1KYDDnrY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0dep%2fbpmn-extensions@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":641243},"main":"dist/index.js","type":"module","types":"./types/index.d.ts","module":"src/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js","require":"./dist/index.js"}},"gitHead":"9496f0beada5f1ad03ea8fa5e534aff4da0b5410","scripts":{"dist":"rollup -c","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","prepack":"npm run dist && npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98dde5db-93b7-45a9-ba96-f567985c8e54"}},"overrides":{"mocha":{"yargs":"^18.1.0"}},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"12.0.2","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"feelin":"^7.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","eslint":"^10.6.0","rollup":"^4.62.2","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/chai":"^5.2.3","@types/node":"^26.1.1","bpmn-moddle":"^9.0.1","@types/mocha":"^10.0.10","bpmn-elements":"^18.0.12","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^1.15.0","@rollup/plugin-commonjs":"^29.0.3","moddle-context-serializer":"^6.0.1","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"bpmn-elements":">=18.0.12"},"_npmOperationalInternal":{"tmp":"tmp/bpmn-extensions_0.0.3_1785831512192_0.26162597938785237","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@0dep/bpmn-extensions","version":"0.0.4","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"author":{"url":"https://github.com/paed01","name":"Pål Edman"},"license":"MIT","_id":"@0dep/bpmn-extensions@0.0.4","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"homepage":"https://github.com/zerodep/bpmn-extensions#readme","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"c8":{"exclude":["dist","test"]},"dist":{"shasum":"2e2eadfcc112feb291fecdc2ffbcaad4497a8d78","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-0.0.4.tgz","fileCount":25,"integrity":"sha512-5I3V9VmWl3E8Sj340PwTCc3WBF4L71lm1KVLRYiPMCK6UZIThczBxafAjbqP84nXOPc7EnWmu5ybglQGFZ+nug==","signatures":[{"sig":"MEUCIQDt1jAE6+c/4q5N24jTwn3WjGkaIJEvuGOz1QZopZE8TAIgDtaZ8O92UQmqT4n189o8A6e7wrP1QIQaOXGKHqo2MaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0dep%2fbpmn-extensions@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":644134},"main":"dist/index.js","type":"module","types":"./types/index.d.ts","module":"src/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js","require":"./dist/index.js"}},"gitHead":"4109fb34e2bf7a080e1b1311c370bea337cfacb6","scripts":{"dist":"rollup -c","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","prepack":"npm run dist && npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98dde5db-93b7-45a9-ba96-f567985c8e54"}},"overrides":{"mocha":{"yargs":"^18.1.0"}},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"12.0.2","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"feelin":"^7.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","eslint":"^10.6.0","rollup":"^4.62.2","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/chai":"^5.2.3","@types/node":"^26.1.1","bpmn-moddle":"^9.0.1","@types/mocha":"^10.0.10","bpmn-elements":"^18.0.12","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^1.15.0","@rollup/plugin-commonjs":"^29.0.3","moddle-context-serializer":"^6.0.1","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"bpmn-elements":">=18.0.12"},"_npmOperationalInternal":{"tmp":"tmp/bpmn-extensions_0.0.4_1786945072721_0.34268724280487683","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@0dep/bpmn-extensions","version":"0.0.5","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"author":{"url":"https://github.com/paed01","name":"Pål Edman"},"license":"MIT","_id":"@0dep/bpmn-extensions@0.0.5","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"homepage":"https://github.com/zerodep/bpmn-extensions#readme","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"c8":{"exclude":["dist","test"]},"dist":{"shasum":"3f9a1f7b6934a314929f345e849a71e67f45722a","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-0.0.5.tgz","fileCount":25,"integrity":"sha512-4pSmaxZGmk7iYbmuDSL+QcVEaipDBFHNjnGHHEOz5li7aM/6F2G5a7DayrDfV2Ym4b0BNW5a4AbSCQ+ck1Lz/A==","signatures":[{"sig":"MEUCIQDcag/7PaNI3L4d+XM5SH3pshXb2njQdt7xaQdbPjdmxwIgBsEf7QMFmCX2pYTrnsZibiJ7vNuCWPLBFx63LbWXcUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0dep%2fbpmn-extensions@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":652185},"main":"dist/index.js","type":"module","types":"./types/index.d.ts","module":"src/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js","require":"./dist/index.js"}},"gitHead":"9de22c5717dc299aa1b91c29433d7270e9068d97","scripts":{"dist":"rollup -c","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","prepack":"npm run dist && npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98dde5db-93b7-45a9-ba96-f567985c8e54"}},"overrides":{"mocha":{"yargs":"^18.1.0"}},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"12.0.2","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"feelin":"^7.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","eslint":"^10.6.0","rollup":"^4.62.2","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/chai":"^5.2.3","@types/node":"^26.1.1","bpmn-moddle":"^10.1.0","@types/mocha":"^10.0.10","bpmn-elements":"^18.0.12","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^1.15.0","@rollup/plugin-commonjs":"^29.0.3","moddle-context-serializer":"^6.0.1","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"bpmn-elements":">=18.0.12"},"_npmOperationalInternal":{"tmp":"tmp/bpmn-extensions_0.0.5_1787551540256_0.9471279390286638","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@0dep/bpmn-extensions","version":"0.0.6","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"author":{"url":"https://github.com/paed01","name":"Pål Edman"},"license":"MIT","_id":"@0dep/bpmn-extensions@0.0.6","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"homepage":"https://github.com/zerodep/bpmn-extensions#readme","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"c8":{"exclude":["dist","test"]},"dist":{"shasum":"acba3d3fcaeb4f557f99a1c12b78c48a5f04153a","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-0.0.6.tgz","fileCount":26,"integrity":"sha512-Dk9WRlxtMlhpw85xY7UoEAYj4MF8KCCTCO/jWHVJKH8svPghSui7xKYVoz3jI47eZCMxodXPXscE5ETHfhkomw==","signatures":[{"sig":"MEYCIQDHfEfLQwldUWY+QiqJrQB9lzg4YcnBABuqVQe5M+gA0wIhAIOXWs57kQyfrhb7BqrX/JS7cH5GDjoxfw/7cngBUoaP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0dep%2fbpmn-extensions@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":662119},"main":"dist/index.js","type":"module","types":"./types/index.d.ts","module":"src/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js","require":"./dist/index.js"}},"gitHead":"85c0e445cdd641b9028537d9ac82834dc48ecd7d","scripts":{"dist":"rollup -c","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","prepack":"npm run dist && npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98dde5db-93b7-45a9-ba96-f567985c8e54"}},"overrides":{"mocha":{"yargs":"^18.1.0"}},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"12.0.2","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"feelin":"^7.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","croner":"^10.0.1","eslint":"^10.6.0","rollup":"^4.62.2","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/chai":"^5.2.3","@types/node":"^26.1.1","bpmn-moddle":"^10.1.0","@types/mocha":"^10.0.10","bpmn-elements":"^18.0.12","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^2.0.0","@rollup/plugin-commonjs":"^29.0.3","moddle-context-serializer":"^6.0.1","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"croner":">=9","bpmn-elements":">=18.0.12"},"_npmOperationalInternal":{"tmp":"tmp/bpmn-extensions_0.0.6_1788079936326_0.867928412481032","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@0dep/bpmn-extensions","version":"0.1.0","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"author":{"url":"https://github.com/paed01","name":"Pål Edman"},"license":"MIT","_id":"@0dep/bpmn-extensions@0.1.0","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"homepage":"https://github.com/zerodep/bpmn-extensions#readme","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"c8":{"exclude":["dist","test"]},"dist":{"shasum":"1fedb8f014ab8aa19367a0e47fd52dca6473bc1b","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-0.1.0.tgz","fileCount":26,"integrity":"sha512-mw3GZMcrxnd4W/B3K5Z+pVw/UyFwTUpPkheegAjbiWu0Sdrjh+2+QHlmPELbOWtWmrs6mv8DbXGBL3nN5EI0yQ==","signatures":[{"sig":"MEUCIFFLiAskDt25JZ4hlhFIVP8IfnASfiNfjWmXFdk9EXEPAiEAvNk58YTWHk3EVRUCijj0hVQ05cc+bVlqNwpkqLp9F1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0dep%2fbpmn-extensions@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":662465},"main":"dist/index.js","type":"module","types":"./types/index.d.ts","module":"src/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js","require":"./dist/index.js"}},"gitHead":"ea0974866d96b0bc2109dfc7e72e5355612f8302","scripts":{"toc":"toc README.md","dist":"rollup -c","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","posttoc":"prettier --write README.md","prepack":"npm run dist && npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run toc && npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98dde5db-93b7-45a9-ba96-f567985c8e54"}},"overrides":{"mocha":{"yargs":"^18.1.0"}},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"12.0.2","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"feelin":"^7.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","croner":"^10.0.1","eslint":"^10.6.0","rollup":"^4.62.2","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","@0dep/toc":"^1.0.1","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/chai":"^5.2.3","@types/node":"^26.1.1","bpmn-moddle":"^10.1.0","@types/mocha":"^10.0.10","bpmn-elements":"^18.0.12","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^2.0.0","@rollup/plugin-commonjs":"^29.0.3","moddle-context-serializer":"^6.0.1","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"croner":">=9","bpmn-elements":">=18.0.25"},"_npmOperationalInternal":{"tmp":"tmp/bpmn-extensions_0.1.0_1789280350717_0.30429769725954237","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@0dep/bpmn-extensions","version":"0.1.1","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"author":{"url":"https://0dep.se","name":"Zerodep AB"},"license":"MIT","_id":"@0dep/bpmn-extensions@0.1.1","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"homepage":"https://0dep.se/run/","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"c8":{"exclude":["dist","test"]},"dist":{"shasum":"803c147cd2ce39797b19e7d0cd3625ab7ee11425","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-0.1.1.tgz","fileCount":27,"integrity":"sha512-Z0BqPzy3lMSR1rNFet9nq+wWdP+DP1c69AJ6hyB11MuxC8Hu+PgarNrggq1r3Wx1H0DMQV40ShMH+YK2QX33tw==","signatures":[{"sig":"MEYCIQD64QTnQ2ntZK16CkbW7CoL35s/yViQtCPqQuZPhBSj8AIhAIGdRWI/8OFK+CB/HaHzd/Jza0A8k1tgmhJJ4t5+8ByK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDfDEepMh/LLF4bkEg0kj8KfMjXN6WAH8QMFs2hdpcXegIhAIJooPn7cjzVDOgeHf2dhTBM9V2g2GPWjSDS+Xgx8jIO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0dep%2fbpmn-extensions@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":665769},"main":"dist/index.js","type":"module","types":"./types/index.d.ts","module":"src/index.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js","require":"./dist/index.js"}},"gitHead":"4eccc4931bf510498a974eab56996e589767e420","scripts":{"toc":"toc README.md","dist":"rollup -c","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","posttoc":"prettier --write README.md","prepack":"npm run dist && npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run toc && npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98dde5db-93b7-45a9-ba96-f567985c8e54"}},"overrides":{"mocha":{"yargs":"^18.1.0"}},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"12.0.2","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"feelin":"^7.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","croner":"^10.0.1","eslint":"^10.6.0","rollup":"^4.62.2","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","@0dep/toc":"^1.0.1","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/chai":"^5.2.3","@types/node":"^26.1.1","bpmn-moddle":"^10.1.0","@types/mocha":"^10.0.10","bpmn-elements":"^18.0.12","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^2.0.0","@rollup/plugin-commonjs":"^29.0.3","moddle-context-serializer":"^6.0.1","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"croner":">=9","bpmn-elements":">=18.0.25"},"_npmOperationalInternal":{"tmp":"tmp/bpmn-extensions_0.1.1_1789538460938_0.9591945090517338","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"c8":{"exclude":["test"]},"_id":"@0dep/bpmn-extensions@1.0.0","bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"dist":{"shasum":"e1d45f5896e38156a0718e44521face152e20ce9","tarball":"https://registry.npmjs.org/@0dep/bpmn-extensions/-/bpmn-extensions-1.0.0.tgz","fileCount":25,"integrity":"sha512-DY+ipnw+HZRVG+jzlZZ8KwgwWAS/pAkRQ5WEzqBHh6W8Ax2Pcp61D+TgLAOhRqIb6LPj8QrvtwdrPgHsQwFaXw==","signatures":[{"sig":"MEUCIQDqaPI3mTdHUbdg2igA+lft/Fu9XF/yN8UeqTJezIK/pAIgMUrHW04BFayGLiHj2Ivt5H7ID8qq5uNM8XpLeTg/gQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGqE7r6RkQObXDHLJSgDYOYua9yMr/WvEv9pO4UnyPHiAiAdv2TQtrGv6AlUF9uiEH9wKV10ILbRAbCVSia6qSZPUg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@0dep%2fbpmn-extensions@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83579},"main":"src/index.js","name":"@0dep/bpmn-extensions","type":"module","types":"./types/index.d.ts","author":{"url":"https://0dep.se","name":"Zerodep AB"},"engines":{"node":">=22.12"},"exports":{".":{"types":"./types/index.d.ts","default":"./src/index.js"}},"gitHead":"e24ce117c7b3e6f15cad2b88ca6dacccda46c995","license":"MIT","scripts":{"toc":"toc -c README.md","lint":"eslint . --cache && prettier . --check --cache","test":"mocha","types":"dts-buddy types/index.d.ts -m @0dep/bpmn-extensions:src/index.js","format":"eslint . --fix && prettier . --write","posttoc":"prettier --write README.md","prepack":"npm run types","test:md":"texample","cov:html":"c8 mocha && c8 report --reporter html","posttest":"npm run toc && npm run lint && npm run test:md && npm run prepack","test:lcov":"c8 -r lcov mocha && npm run lint"},"version":"1.0.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:98dde5db-93b7-45a9-ba96-f567985c8e54"}},"homepage":"https://0dep.se/run/","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"overrides":{"mocha":{"yargs":"^18.1.0"}},"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"_npmVersion":"12.0.2","description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","directories":{},"maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"feelin":"^8.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","chai":"^6.2.2","debug":"^4.4.3","mocha":"^11.7.6","croner":"^10.0.1","eslint":"^10.6.0","globals":"^17.7.0","prettier":"^3.9.1","texample":"^1.0.2","@0dep/toc":"^2.1.0","dts-buddy":"^0.8.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/chai":"^5.2.3","@types/node":"^26.1.1","bpmn-moddle":"^10.1.0","@types/mocha":"^10.0.10","bpmn-elements":"^18.0.12","mocha-cakes-2":"^3.3.0","zeebe-bpmn-moddle":"^2.0.0","moddle-context-serializer":"^6.0.1"},"peerDependencies":{"croner":">=9","bpmn-elements":">=18.0.25"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bpmn-extensions_1.0.0_1789889627898_0.22937779953433113"}}},"time":{"created":"2026-06-28T18:23:10.074Z","modified":"2026-09-20T07:33:48.312Z","0.0.1":"2026-06-28T18:23:10.517Z","0.0.2":"2026-06-28T19:09:37.545Z","0.0.3":"2026-08-04T08:18:32.406Z","0.0.4":"2026-08-17T05:37:52.863Z","0.0.5":"2026-08-24T06:05:40.410Z","0.0.6":"2026-08-30T08:52:16.484Z","0.1.0":"2026-09-13T06:19:10.877Z","0.1.1":"2026-09-16T06:01:01.039Z","1.0.0":"2026-09-20T07:33:47.982Z"},"bugs":{"url":"https://github.com/zerodep/bpmn-extensions/issues"},"author":{"url":"https://0dep.se","name":"Zerodep AB"},"license":"MIT","homepage":"https://0dep.se/run/","keywords":["bpmn","bpmn-elements","camunda","camunda8","zeebe","feel","extensions"],"repository":{"url":"git+https://github.com/zerodep/bpmn-extensions.git","type":"git"},"description":"Flow extensions for bpmn-elements: FEEL expressions and the zeebe-namespace BPMN extension elements","maintainers":[{"name":"paed01","email":"pal.edman@outlook.com"}],"readme":"# @0dep/bpmn-extensions\n\n[![Built latest](https://github.com/zerodep/bpmn-extensions/actions/workflows/build-latest.yaml/badge.svg)](https://github.com/zerodep/bpmn-extensions/actions/workflows/build-latest.yaml)[![Coverage Status](https://coveralls.io/repos/github/zerodep/bpmn-extensions/badge.svg?branch=main)](https://coveralls.io/github/zerodep/bpmn-extensions?branch=main)\n\nFlow extensions for [bpmn-elements](https://github.com/paed01/bpmn-elements) with\n[FEEL](https://www.omg.org/dmn/) expression support.\n\nIt teaches a bpmn-elements engine to run BPMN that uses the `zeebe:*` extension elements and FEEL\nexpressions (`= ...`) — the counterpart to [`@onify/flow-extensions`](https://github.com/onify/flow-extensions),\nwhich covers the older `camunda:*` extension elements.\n\n<!-- toc -->\n\n- [Install](#install)\n- [What it does](#what-it-does)\n- [API](#api)\n- [Usage](#usage)\n- [Extract timers](#extract-timers)\n- [Development](#development)\n- [Ecosystem](#ecosystem)\n- [License](#license)\n\n<!-- /toc -->\n\n## Install\n\n```sh\nnpm install @0dep/bpmn-extensions bpmn-elements croner\n```\n\n`bpmn-elements` (>= 18) and [`croner`](https://www.npmjs.com/package/croner) (cron timer cycles) are\npeer dependencies. Requires Node.js >= 22.\n\n## What it does\n\n- **FEEL expressions** — a `FeelExpressions()` adapter resolves FEEL (`= order.total > 100`)\n  everywhere bpmn-elements resolves an expression, including sequence flow conditions.\n- **Environment services in FEEL scope** — every FEEL expression can call the environment services\n  as functions, namespaced under `services` (e.g. a condition `= services.isEligible(order)`).\n  This strays from strict Camunda 8 conformance on purpose: unlike functions smuggled through\n  variables, services survive `getState()`/`recover()` — state is JSON-serialized (functions are\n  dropped), while services are re-supplied by the host at recover time — so service-backed\n  conditions are resume-safe. A variable named `services` shadows the overlay.\n- **`zeebe:script`** — a `FeelScripts()` adapter runs a script task's FEEL `expression` and assigns\n  the result to its `resultVariable`.\n- **`zeebe:taskDefinition`** — maps a service task's job `type` to an environment service (job worker).\n- **`zeebe:calledDecision`** — a business rule task resolves its `decisionId` via an environment\n  service (you bring the decision; we don't evaluate DMN) and assigns the result to `resultVariable`.\n- **`zeebe:ioMapping`** — input mapping on entry (parent scope) and output mapping on completion\n  (job-result scope), with dotted `target` paths. Propagates across boundaries: a call activity's\n  input reaches the called process and its output maps the called process result back; a sub\n  process's input becomes variables local to its children.\n- **`zeebe:taskHeaders`** / **`zeebe:properties`** — exposed on the element content.\n- **`zeebe:assignmentDefinition`** — assignee / candidate users / groups for user tasks.\n- **`zeebe:priorityDefinition`** / **`zeebe:taskSchedule`** — a user task's `priority` and\n  `dueDate` / `followUpDate` resolved onto the element content for a task list to order and\n  remind by; FEEL date results are exposed as ISO 8601 strings.\n- **`zeebe:formDefinition`** — resolves a user task's form (`formId` / `formKey` / `externalReference`,\n  `bindingType`) onto the element content for a task list to render.\n- **`zeebe:executionListeners`** — blocking start/end job workers around an element, called as\n  `(elementApi, { retries, headers }, callback)` (`retries` and `headers` present only when the\n  listener declares them).\n- **`zeebe:calledElement`** — call activity target process id.\n- **`zeebe:loopCharacteristics`** — collection-based multi-instance (`inputCollection` / `inputElement`),\n  sequential or parallel, with `outputElement` aggregated into the `outputCollection` array in input order.\n- **Timer start events with cron** — a `TimerEventDefinition` that also parses a **cron** `timeCycle`\n  (`0 0 * * *`, as Camunda 8 schedules timer start events) besides ISO 8601 intervals. A top-level\n  timer start event's cycle is lifted onto its behaviour as `scheduledStart` by `extendFn` and exposed\n  on the start event content, so a scheduler can find the flows to start without running them.\n- **`zeebe:subscription`** — the referenced message's `correlationKey` is resolved when the catching\n  element (receive task, message event) starts waiting, and exposed on its content as\n  `subscription: { message, correlationKey }` — route an incoming message by matching it against the\n  waiting elements (`getPostponed()`) and signalling the right one.\n\n## API\n\n- `extensions(element, context)` — the flow extensions factory; pass it as an environment extension.\n  Elements that carry no zeebe extension data (and nothing else to format) get no extension attached\n  at all and run untouched; call activities and processes are always attached, since they propagate\n  io across process boundaries.\n- `extendFn(behaviour)` — moddle-context-serializer behaviour extender (lifts the extension data\n  bpmn-elements expects on the behaviour: call activity process id, multi-instance collection, and a\n  timer start event's cycle as `scheduledStart`).\n- `TimerEventDefinition` — a bpmn-elements timer event definition that accepts cron `timeCycle`s;\n  install it through the type resolver: `TypeResolver({ ...elements, TimerEventDefinition })`.\n- `FeelExpressions()` — a bpmn-elements `IExpressions` implementation backed by FEEL.\n- `FeelScripts()` — a bpmn-elements `scripts` implementation that runs `zeebe:script` FEEL expressions.\n- FEEL helpers: `isFeelExpression`, `stripFeel`, `evaluateFeel`, `evaluateFeelUnaryTest`, `resolveValue`,\n  `getFeelScope` (the scope every expression is evaluated in: `services` + environment variables + local overlay).\n- `JobService`, `ServiceError`, `FormatError`.\n\n## Usage\n\nWire it into a bpmn-elements definition (see `test/helpers/testHelpers.js` for the full helper):\n\n```javascript\nimport { createRequire } from 'node:module';\nimport { strict as assert } from 'node:assert';\nimport { BpmnModdle } from 'bpmn-moddle';\nimport * as elements from 'bpmn-elements';\nimport { Serializer, TypeResolver } from 'moddle-context-serializer';\nimport { extensions, extendFn, FeelExpressions, FeelScripts } from '@0dep/bpmn-extensions';\n\nconst require = createRequire(import.meta.url);\nconst moddle = new BpmnModdle({ zeebe: require('zeebe-bpmn-moddle/resources/zeebe.json') });\n\nconst source = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<definitions xmlns=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:zeebe=\"http://camunda.org/schema/zeebe/1.0\" id=\"def\">\n  <process id=\"orders\" isExecutable=\"true\">\n    <startEvent id=\"start\" />\n    <sequenceFlow id=\"to-charge\" sourceRef=\"start\" targetRef=\"charge\" />\n    <serviceTask id=\"charge\">\n      <extensionElements>\n        <zeebe:taskDefinition type=\"charge-card\" />\n        <zeebe:ioMapping>\n          <zeebe:input source=\"= order.total\" target=\"amount\" />\n          <zeebe:output source=\"= transactionId\" target=\"receipt.id\" />\n        </zeebe:ioMapping>\n      </extensionElements>\n    </serviceTask>\n    <sequenceFlow id=\"to-end\" sourceRef=\"charge\" targetRef=\"end\" />\n    <endEvent id=\"end\" />\n  </process>\n</definitions>`;\n\nconst moddleContext = await moddle.fromXML(source);\nconst serializer = Serializer(moddleContext, TypeResolver(elements), extendFn);\n\nconst definition = new elements.Definition(elements.Context(serializer), {\n  expressions: FeelExpressions(),\n  scripts: FeelScripts(),\n  extensions: { flowExtensions: extensions },\n  variables: { order: { total: 199 } },\n  services: {\n    'charge-card'(elementApi, callback) {\n      // elementApi.content.input  — resolved zeebe:ioMapping input (here `{ amount: 199 }`)\n      // elementApi.content.headers — resolved zeebe:taskHeaders\n      callback(null, { transactionId: 'tx-1' }); // becomes the job variables for output mapping\n    },\n  },\n});\n\ndefinition.once('leave', () => {\n  console.log(definition.environment.output); // { receipt: { id: 'tx-1' } }\n  assert.deepEqual(definition.environment.output, { receipt: { id: 'tx-1' } });\n});\ndefinition.run();\n```\n\nA service task's `zeebe:taskDefinition type=\"charge-card\"` is dispatched to the environment\nservice named `charge-card`. Its callback result is the job's variables, which `zeebe:ioMapping`\noutput parameters map back into the process.\n\n## Extract timers\n\nList the timers of a definition without running it — e.g. to schedule flows by their timer start\nevent. The serializer collects every timer event definition; `extendFn` marks a timer start event's\ncycle as `scheduledStart`, and the cron-capable `TimerEventDefinition` parses each one to its next\nexpiry:\n\n```javascript\nimport { createRequire } from 'node:module';\nimport { strict as assert } from 'node:assert';\nimport { BpmnModdle } from 'bpmn-moddle';\nimport * as elements from 'bpmn-elements';\nimport { Serializer, TypeResolver } from 'moddle-context-serializer';\nimport { extendFn, TimerEventDefinition } from '@0dep/bpmn-extensions';\n\nconst require = createRequire(import.meta.url);\nconst moddle = new BpmnModdle({ zeebe: require('zeebe-bpmn-moddle/resources/zeebe.json') });\n\nconst source = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<definitions xmlns=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" id=\"def\">\n  <process id=\"nightly\" isExecutable=\"true\">\n    <startEvent id=\"start\">\n      <timerEventDefinition>\n        <timeCycle xsi:type=\"tFormalExpression\">0 1 * * *</timeCycle>\n      </timerEventDefinition>\n    </startEvent>\n    <sequenceFlow id=\"to-task\" sourceRef=\"start\" targetRef=\"task\" />\n    <userTask id=\"task\" />\n    <boundaryEvent id=\"reminder\" cancelActivity=\"false\" attachedToRef=\"task\">\n      <timerEventDefinition>\n        <timeDuration xsi:type=\"tFormalExpression\">R3/PT1M</timeDuration>\n      </timerEventDefinition>\n    </boundaryEvent>\n  </process>\n</definitions>`;\n\nconst moddleContext = await moddle.fromXML(source);\nconst serializer = Serializer(moddleContext, TypeResolver({ ...elements, TimerEventDefinition }), extendFn);\n\nconst dummyActivity = { id: 'dummy', broker: {}, environment: { Logger() {} } };\nconst timers = serializer.getTimers().map((t) => ({\n  ...t,\n  parsed: new TimerEventDefinition(dummyActivity, { type: t.timer.type, behaviour: t.timer }).parse(t.timer.timerType, t.timer.value),\n}));\n\nconsole.log(timers.map((t) => [t.parent.id, t.timer.timerType, t.timer.value, t.parsed.expireAt]));\nassert.equal(timers.length, 2);\nassert.equal(timers[0].parent.id, 'start');\nassert.ok(timers[0].parsed.expireAt instanceof Date);\n\n// A timer start event is a schedule: the cycle is lifted onto the behaviour\nassert.equal(serializer.getActivityById('start').behaviour.scheduledStart, '0 1 * * *');\n```\n\n## Development\n\n```sh\nnpm test           # mocha (BDD, mocha-cakes-2) + lint + run README examples (texample)\nnpm run test:md     # run the README javascript examples with texample\nnpm run types       # generate types/index.d.ts from JSDoc with dts-buddy\nnpm run format      # eslint --fix && prettier --write\n```\n\nFlows under test are authored programmatically with `bpmn-moddle` via the `ProcessBuilder` helper\nin `test/helpers/factory.js`, then run on a real bpmn-elements `Definition`. The test harness wires\nthe engine's `Logger` to the [`debug`](https://www.npmjs.com/package/debug) package, so\n`DEBUG=bpmn-extensions:* npm test` traces the engine and extensions (`:error:*` for errors only).\n\n## Ecosystem\n\n- [0dep.se/run](https://0dep.se/run/) — Run a BPMN diagram in the browser: `bpmn-elements` wired with `@0dep/bpmn-extensions`, drawn with bpmn-js; step through, signal waiting tasks, and drop DMN files for business rule tasks.\n- [bpmn-engine](https://github.com/paed01/bpmn-engine) — BPMN 2.0 execution engine wrapping `bpmn-elements`; the batteries-included way to run, stop, resume, and recover flows.\n- [bpmn-middleware](https://github.com/zerodep/bpmn-middleware) — Express middleware exposing the engine over HTTP, with pluggable state storage.\n- [@onify/flow-extensions](https://github.com/onify/flow-extensions) — Onify Flow extensions for `bpmn-elements`.\n- [dmn-elements](https://github.com/zerodep/dmn-elements) — Executable DMN 1.3 decision elements; back a Business Rule Task with it (see [Conformance](/docs/Conformance.md#business-rule-task-and-dmn)).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}