{"_id":"@bpmn-sdk/core","_rev":"8-045a91262625f598fb1f6eec919738ed","name":"@bpmn-sdk/core","dist-tags":{"latest":"0.0.8"},"versions":{"0.0.1":{"name":"@bpmn-sdk/core","version":"0.0.1","_id":"@bpmn-sdk/core@0.0.1","maintainers":[{"name":"urbanisierung","email":"adam.urban@gmail.com"}],"dist":{"shasum":"c71d6c86fcc34e1cbc476bc566943e123680f4c6","tarball":"https://registry.npmjs.org/@bpmn-sdk/core/-/core-0.0.1.tgz","fileCount":133,"integrity":"sha512-iJ+CmWRjznra0Xlx7Yw20Tuk8MshKUwBR2JIoItNFAS/lr7q3bvKg3Hh9/SIJMeZqWnLe2rRjNqA2QAcW9qj2A==","signatures":[{"sig":"MEUCICqwAI12cwinFRA2Dggw4dWBwvc8t6IXmwU1sm2sC8/JAiEA4DUsXChiUbzIIzraJ4LGtFgL9VGbAgDkyzW2BzWuPOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493755},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"aa3affcf34f366b9d2a047ab22a939569896581a","scripts":{"test":"vitest run","build":"tsc","check":"biome check .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"urbanisierung","email":"adam.urban@gmail.com"},"_npmVersion":"11.6.1","directories":{},"_nodeVersion":"24.11.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_0.0.1_1771749342325_0.929951706395783","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.3":{"name":"@bpmn-sdk/core","version":"0.0.3","_id":"@bpmn-sdk/core@0.0.3","maintainers":[{"name":"urbanisierung","email":"adam.urban@gmail.com"}],"homepage":"https://github.com/bpmn-sdk/monorepo#readme","bugs":{"url":"https://github.com/bpmn-sdk/monorepo/issues"},"dist":{"shasum":"c3dc54c88904610cf689b90a7cea81de3ec815df","tarball":"https://registry.npmjs.org/@bpmn-sdk/core/-/core-0.0.3.tgz","fileCount":84,"integrity":"sha512-Ne081nfrnoEndt2kdGqrmekyCtTrQjhab+2zgZHBcoOEYbFxz8Ncy44AeSfiTMrdl2mlcPXzXqPt6KpQaFhM+A==","signatures":[{"sig":"MEQCIC+t/tOVUlu//2InHvLjnu5vInkJ+jlsGQCSY43KB92sAiB9zHaK46WEuDCoPWH6hfRtF8SothJYpXkA0uqmfogHBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bpmn-sdk%2fcore@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":368363},"main":"./dist/index.js","type":"module","_from":"file:bpmn-sdk-core-0.0.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","check":"biome check .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3cb14a1-5d9d-4f56-abc1-4118fc5068ac"}},"_resolved":"/tmp/67536330f9bb3c243a57e884ae19f8f0/bpmn-sdk-core-0.0.3.tgz","_integrity":"sha512-Ne081nfrnoEndt2kdGqrmekyCtTrQjhab+2zgZHBcoOEYbFxz8Ncy44AeSfiTMrdl2mlcPXzXqPt6KpQaFhM+A==","repository":{"url":"git+https://github.com/bpmn-sdk/monorepo.git","type":"git"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_0.0.3_1772992006783_0.5625079451189581","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.4":{"name":"@bpmn-sdk/core","version":"0.0.4","_id":"@bpmn-sdk/core@0.0.4","maintainers":[{"name":"urbanisierung","email":"adam.urban@gmail.com"}],"homepage":"https://github.com/bpmn-sdk/monorepo#readme","bugs":{"url":"https://github.com/bpmn-sdk/monorepo/issues"},"dist":{"shasum":"a17748be209ff2f24f4c01e2a585a43939e2a185","tarball":"https://registry.npmjs.org/@bpmn-sdk/core/-/core-0.0.4.tgz","fileCount":87,"integrity":"sha512-yM5SxNjPkp6gLzYUQIT8T/NDiHwfoHzu9be/MwZnX158mjAfKZb0xigM8gem5U3nwrffKrF4JF2eTbrbIM/DnA==","signatures":[{"sig":"MEUCIQD2fAuu3KqkQLY6c+15LNJNv0ayMmC1eRFoIyRYxLHdvQIgaXc6zhOPikjGT26BdMuiRkA6koj0+TJnLPDUeC3S/w4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bpmn-sdk%2fcore@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":393243},"main":"./dist/index.js","type":"module","_from":"file:bpmn-sdk-core-0.0.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","check":"biome check .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3cb14a1-5d9d-4f56-abc1-4118fc5068ac"}},"_resolved":"/tmp/65dc0d28528e2f3e110b5f060083dfda/bpmn-sdk-core-0.0.4.tgz","_integrity":"sha512-yM5SxNjPkp6gLzYUQIT8T/NDiHwfoHzu9be/MwZnX158mjAfKZb0xigM8gem5U3nwrffKrF4JF2eTbrbIM/DnA==","repository":{"url":"git+https://github.com/bpmn-sdk/monorepo.git","type":"git"},"_npmVersion":"11.9.0","description":"<div align=\"center\">   <img src=\"https://raw.githubusercontent.com/bpmn-sdk/monorepo/main/doc/logos/logo-2-gateway.svg\" width=\"72\" height=\"72\" alt=\"BPMN SDK logo\">   <h1>@bpmn-sdk/core</h1>   <p>TypeScript-first BPMN 2.0 SDK — parse, build, layout, and op","directories":{},"_nodeVersion":"24.14.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_0.0.4_1773080899772_0.31242392130778196","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.5":{"name":"@bpmn-sdk/core","version":"0.0.5","keywords":["bpmn","bpmn2","camunda","zeebe","workflow","process","dmn","typescript","sdk"],"license":"MIT","_id":"@bpmn-sdk/core@0.0.5","maintainers":[{"name":"urbanisierung","email":"adam.urban@gmail.com"}],"homepage":"https://github.com/bpmn-sdk/monorepo#readme","bugs":{"url":"https://github.com/bpmn-sdk/monorepo/issues"},"dist":{"shasum":"f64f1fe50360c429670ea1b9c04b2dd175d34396","tarball":"https://registry.npmjs.org/@bpmn-sdk/core/-/core-0.0.5.tgz","fileCount":103,"integrity":"sha512-sgaaYPjxEAtRH4SSBwPqNjutpN/EQbIkRsW+Oeu3E26G7FY7vHifPmH7t3CldcRXnlUDM+xyHKEjjLmbEUyZ6A==","signatures":[{"sig":"MEUCICKoNjsNkAVqIsbEq0HPwQa9ehoXhvZmLs4cDnVoR5V8AiEAz6iYQxE7rknPVnVyZ8cXDIT0VrE+MBtwfCFXtZZBGjA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bpmn-sdk%2fcore@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":502116},"main":"./dist/index.js","type":"module","_from":"file:bpmn-sdk-core-0.0.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","check":"biome check .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3cb14a1-5d9d-4f56-abc1-4118fc5068ac"}},"_resolved":"/tmp/475d631cd65abcb48cb45e7bad36d7ee/bpmn-sdk-core-0.0.5.tgz","_integrity":"sha512-sgaaYPjxEAtRH4SSBwPqNjutpN/EQbIkRsW+Oeu3E26G7FY7vHifPmH7t3CldcRXnlUDM+xyHKEjjLmbEUyZ6A==","repository":{"url":"git+https://github.com/bpmn-sdk/monorepo.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript-first BPMN 2.0 SDK — parse, build, layout, and optimize diagrams","directories":{},"_nodeVersion":"24.14.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_0.0.5_1773173858541_0.8070722102384298","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.6":{"name":"@bpmn-sdk/core","version":"0.0.6","keywords":["bpmn","bpmn2","camunda","zeebe","workflow","process","dmn","typescript","sdk"],"license":"MIT","_id":"@bpmn-sdk/core@0.0.6","maintainers":[{"name":"urbanisierung","email":"adam.urban@gmail.com"}],"homepage":"https://github.com/bpmn-sdk/monorepo#readme","bugs":{"url":"https://github.com/bpmn-sdk/monorepo/issues"},"dist":{"shasum":"83a6ed2fca97a1dfdb69ca6ff2a383fc3d1ed16c","tarball":"https://registry.npmjs.org/@bpmn-sdk/core/-/core-0.0.6.tgz","fileCount":105,"integrity":"sha512-6XNQOVSigEItvNdT1aQkGifbMS/SVbcQHiKnAIi5SvX9iLGeqAhZ53JU4DXDTomDBM6aEPu9Yvfv/pepF1U++g==","signatures":[{"sig":"MEYCIQCl3ftdqAzQq90sjYUlFJIr8AN2bNHYMorsLtgMu/XE/wIhAL9Pi/F+wjdC8Xq3Ep9woBnU3lH1rXQ5eV74VBPcytGo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bpmn-sdk%2fcore@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512262},"main":"./dist/index.js","type":"module","_from":"file:bpmn-sdk-core-0.0.6.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","check":"biome check .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3cb14a1-5d9d-4f56-abc1-4118fc5068ac"}},"_resolved":"/tmp/92c8dea3214b4210cfa737e76e6da72c/bpmn-sdk-core-0.0.6.tgz","_integrity":"sha512-6XNQOVSigEItvNdT1aQkGifbMS/SVbcQHiKnAIi5SvX9iLGeqAhZ53JU4DXDTomDBM6aEPu9Yvfv/pepF1U++g==","repository":{"url":"git+https://github.com/bpmn-sdk/monorepo.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript-first BPMN 2.0 SDK — parse, build, layout, and optimize diagrams","directories":{},"_nodeVersion":"24.14.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_0.0.6_1773258778151_0.8923071123646584","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.7":{"name":"@bpmn-sdk/core","version":"0.0.7","keywords":["bpmn","bpmn2","camunda","zeebe","workflow","process","dmn","typescript","sdk"],"license":"MIT","_id":"@bpmn-sdk/core@0.0.7","maintainers":[{"name":"urbanisierung","email":"adam.urban@gmail.com"}],"homepage":"https://github.com/bpmn-sdk/monorepo#readme","bugs":{"url":"https://github.com/bpmn-sdk/monorepo/issues"},"dist":{"shasum":"66e80ab502a1326f402bce0d3a76435f167a2b6a","tarball":"https://registry.npmjs.org/@bpmn-sdk/core/-/core-0.0.7.tgz","fileCount":105,"integrity":"sha512-kKjFtgd7I77NouS+jvkTiur0YW7swAhu1HoS0t5/2N59kwifWo0KSsC3oSDRLV9c5g6psUasqGGM+Twe9700FA==","signatures":[{"sig":"MEYCIQCHesoqA60QO6I72l4Z3qL3Y8B679qHqIcSe2T2EC8vcwIhAPd5sokMJaEX/XxQP/NJ0JL7nPEjAKxjWDi/MLl9S2E+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bpmn-sdk%2fcore@0.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512262},"main":"./dist/index.js","type":"module","_from":"file:bpmn-sdk-core-0.0.7.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","check":"biome check .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3cb14a1-5d9d-4f56-abc1-4118fc5068ac"}},"_resolved":"/tmp/48c70bec2b16e72852e0711df1f6bc9f/bpmn-sdk-core-0.0.7.tgz","_integrity":"sha512-kKjFtgd7I77NouS+jvkTiur0YW7swAhu1HoS0t5/2N59kwifWo0KSsC3oSDRLV9c5g6psUasqGGM+Twe9700FA==","repository":{"url":"git+https://github.com/bpmn-sdk/monorepo.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript-first BPMN 2.0 SDK — parse, build, layout, and optimize diagrams","directories":{},"_nodeVersion":"24.14.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_0.0.7_1773341678847_0.18354640768630137","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.8":{"name":"@bpmn-sdk/core","version":"0.0.8","keywords":["bpmn","bpmn2","camunda","zeebe","workflow","process","dmn","typescript","sdk"],"license":"MIT","_id":"@bpmn-sdk/core@0.0.8","maintainers":[{"name":"urbanisierung","email":"adam.urban@gmail.com"}],"homepage":"https://github.com/bpmn-sdk/monorepo#readme","bugs":{"url":"https://github.com/bpmn-sdk/monorepo/issues"},"dist":{"shasum":"5930a0141660c9a967bdfa6c7ff94fd0d0ce00fd","tarball":"https://registry.npmjs.org/@bpmn-sdk/core/-/core-0.0.8.tgz","fileCount":105,"integrity":"sha512-lfcFUw/e55BqnlVHp5MihryZuIFktaoiw/B4+OWenwq/2eYWjQKYeIy1C5jPrB70MYm1/F2w/vCynb04g7RXTA==","signatures":[{"sig":"MEYCIQCba/1jjPOyMR2Td+cGpTg8NskKm7siWlCpSIaf6ROSnAIhALtSwPwepCChkGNlKZObRIj5EcYCooTlxweV36m59dWE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bpmn-sdk%2fcore@0.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512262},"main":"./dist/index.js","type":"module","_from":"file:bpmn-sdk-core-0.0.8.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","check":"biome check .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3cb14a1-5d9d-4f56-abc1-4118fc5068ac"}},"_resolved":"/tmp/5da3e968be109f465770ad37ba232294/bpmn-sdk-core-0.0.8.tgz","_integrity":"sha512-lfcFUw/e55BqnlVHp5MihryZuIFktaoiw/B4+OWenwq/2eYWjQKYeIy1C5jPrB70MYm1/F2w/vCynb04g7RXTA==","repository":{"url":"git+https://github.com/bpmn-sdk/monorepo.git","type":"git"},"_npmVersion":"11.9.0","description":"TypeScript-first BPMN 2.0 SDK — parse, build, layout, and optimize diagrams","directories":{},"_nodeVersion":"24.14.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/core_0.0.8_1773428384539_0.1834958554997812","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2026-02-22T08:35:42.186Z","modified":"2026-03-15T07:46:41.923Z","0.0.1":"2026-02-22T08:35:42.483Z","0.0.3":"2026-03-08T17:46:46.931Z","0.0.4":"2026-03-09T18:28:19.985Z","0.0.5":"2026-03-10T20:17:38.757Z","0.0.6":"2026-03-11T19:52:58.301Z","0.0.7":"2026-03-12T18:54:39.064Z","0.0.8":"2026-03-13T18:59:44.701Z"},"bugs":{"url":"https://github.com/bpmn-sdk/monorepo/issues"},"license":"MIT","homepage":"https://github.com/bpmn-sdk/monorepo#readme","keywords":["bpmn","bpmn2","camunda","zeebe","workflow","process","dmn","typescript","sdk"],"repository":{"url":"git+https://github.com/bpmn-sdk/monorepo.git","type":"git"},"description":"TypeScript-first BPMN 2.0 SDK — parse, build, layout, and optimize diagrams","maintainers":[{"name":"urbanisierung","email":"adam.urban@gmail.com"}],"readme":"<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/bpmn-sdk/monorepo/main/doc/logos/logo-2-gateway.svg\" width=\"72\" height=\"72\" alt=\"BPMN SDK logo\">\n  <h1>@bpmn-sdk/core</h1>\n  <p>TypeScript-first BPMN 2.0 SDK — parse, build, layout, and optimize diagrams</p>\n\n  [![npm](https://img.shields.io/npm/v/@bpmn-sdk/core?style=flat-square&color=6244d7)](https://www.npmjs.com/package/@bpmn-sdk/core)\n  [![license](https://img.shields.io/npm/l/@bpmn-sdk/core?style=flat-square)](https://github.com/bpmn-sdk/monorepo/blob/main/LICENSE)\n  [![typescript](https://img.shields.io/badge/TypeScript-strict-6244d7?style=flat-square&logo=typescript&logoColor=white)](https://github.com/bpmn-sdk/monorepo)\n\n  [Documentation](https://bpmn-sdk-docs.pages.dev) · [GitHub](https://github.com/bpmn-sdk/monorepo) · [Changelog](https://github.com/bpmn-sdk/monorepo/blob/main/packages/core/CHANGELOG.md)\n</div>\n\n---\n\n## Overview\n\n`@bpmn-sdk/core` is the foundation of the BPMN SDK. It gives you everything to work with BPMN 2.0, DMN 1.3, and Camunda Form definitions in pure TypeScript — no XML wrestling, no runtime dependencies.\n\n```\nParse → Modify → Validate → Export\n```\n\n## Features\n\n- **BPMN 2.0** — parse, create, and export process diagrams with full Zeebe/Camunda 8 extension support\n- **Fluent Builder API** — construct valid processes programmatically, never touch raw XML\n- **Sugiyama Layout Engine** — auto-position elements with clean orthogonal edge routing\n- **DMN 1.3** — decision tables, including FEEL expression support\n- **Camunda Form Definitions** — type-safe form schema builder\n- **Optimizer** — built-in rule engine to detect and auto-fix anti-patterns\n- **Compact Format** — 70% smaller token-efficient JSON representation for AI/LLM workflows\n- **Zero Dependencies** — runs in browsers, Node.js, Deno, Bun, and edge runtimes\n\n## Installation\n\n```sh\nnpm install @bpmn-sdk/core\npnpm add @bpmn-sdk/core\n```\n\n## Quick Start\n\n### Build a process from code\n\n```typescript\nimport { Bpmn } from \"@bpmn-sdk/core\"\n\nconst process = Bpmn.createProcess(\"order-flow\", \"Order Flow\")\n  .startEvent(\"start\", \"Order Received\")\n  .serviceTask(\"validate\", \"Validate Order\", {\n    type: \"order-validator\",\n    inputs: [{ source: \"=order\", target: \"order\" }],\n    outputs: [{ source: \"=valid\", target: \"isValid\" }],\n  })\n  .exclusiveGateway(\"check\", \"Order Valid?\")\n  .sequenceFlow(\"check\", \"fulfill\", \"=isValid = true\")\n  .serviceTask(\"fulfill\", \"Fulfill Order\", { type: \"fulfillment-service\" })\n  .endEvent(\"end\", \"Order Complete\")\n  .sequenceFlow(\"check\", \"reject\", \"=isValid = false\")\n  .endEvent(\"reject-end\", \"Order Rejected\")\n  .build()\n\nconst xml = Bpmn.export(process)\n```\n\n### Parse and modify existing BPMN\n\n```typescript\nimport { Bpmn } from \"@bpmn-sdk/core\"\n\nconst defs = Bpmn.parse(xml)\nconst process = defs.processes[0]\n\n// Access flow elements\nfor (const el of process.flowElements) {\n  console.log(el.type, el.id, el.name)\n}\n\n// Serialize back to XML\nconst updated = Bpmn.export(defs)\n```\n\n### Auto-layout a process\n\n```typescript\nimport { Bpmn, layoutProcess } from \"@bpmn-sdk/core\"\n\nconst defs = Bpmn.parse(xml)\nconst result = layoutProcess(defs.processes[0])\n// result.defs now has updated DI coordinates\nconst laid = Bpmn.export(result.defs)\n```\n\n### Optimize a diagram\n\n```typescript\nimport { Bpmn, optimize } from \"@bpmn-sdk/core\"\n\nconst defs = Bpmn.parse(xml)\nconst report = optimize(defs)\n\nconsole.log(`${report.summary.total} findings`)\n\nfor (const finding of report.findings) {\n  console.log(`[${finding.severity}] ${finding.message}`)\n  if (finding.applyFix) {\n    const { description } = finding.applyFix(defs)\n    console.log(\"Fixed:\", description)\n  }\n}\n```\n\n### Compact format for AI/LLM workflows\n\n```typescript\nimport { Bpmn, compactify, expand } from \"@bpmn-sdk/core\"\n\n// Shrink for AI prompt\nconst defs = Bpmn.parse(xml)\nconst compact = compactify(defs)          // ~70% smaller JSON\nconst json = JSON.stringify(compact)      // send to LLM\n\n// Restore full BPMN from AI response\nconst restored = expand(JSON.parse(json))\nconst outXml = Bpmn.export(restored)\n```\n\n## API Reference\n\n### BPMN\n\n| Export | Description |\n|--------|-------------|\n| `Bpmn.parse(xml)` | Parse BPMN XML → `BpmnDefinitions` |\n| `Bpmn.export(defs)` | Serialize `BpmnDefinitions` → XML |\n| `Bpmn.createProcess(id, name?)` | Start a `ProcessBuilder` |\n| `Bpmn.makeEmpty(processId?, name?)` | Minimal BPMN XML with one start event |\n| `Bpmn.SAMPLE_XML` | 3-node sample diagram string |\n\n### DMN\n\n| Export | Description |\n|--------|-------------|\n| `Dmn.parse(xml)` | Parse DMN XML → `DmnDefinitions` |\n| `Dmn.export(defs)` | Serialize → XML |\n| `Dmn.createDecisionTable(id, name?)` | Start a `DecisionTableBuilder` |\n| `Dmn.makeEmpty()` | Minimal DMN with one empty decision table |\n\n### Form\n\n| Export | Description |\n|--------|-------------|\n| `Form.create()` | Start a `FormBuilder` |\n| `Form.parse(json)` | Parse a form schema |\n| `Form.export(schema)` | Serialize → JSON string |\n\n### Layout & Optimization\n\n| Export | Description |\n|--------|-------------|\n| `layoutProcess(process)` | Auto-layout all elements; returns `LayoutResult` |\n| `optimize(defs)` | Run all optimization rules; returns `OptimizeReport` |\n| `compactify(defs)` | Convert to compact `CompactDiagram` |\n| `expand(compact)` | Restore full `BpmnDefinitions` |\n| `generateId(prefix)` | Generate a unique short ID |\n\n---\n\n## Related Packages\n\n| Package | Description |\n|---------|-------------|\n| [`@bpmn-sdk/canvas`](https://www.npmjs.com/package/@bpmn-sdk/canvas) | Zero-dependency SVG BPMN viewer |\n| [`@bpmn-sdk/editor`](https://www.npmjs.com/package/@bpmn-sdk/editor) | Full-featured interactive BPMN editor |\n| [`@bpmn-sdk/engine`](https://www.npmjs.com/package/@bpmn-sdk/engine) | Lightweight BPMN process execution engine |\n| [`@bpmn-sdk/feel`](https://www.npmjs.com/package/@bpmn-sdk/feel) | FEEL expression language parser & evaluator |\n| [`@bpmn-sdk/plugins`](https://www.npmjs.com/package/@bpmn-sdk/plugins) | 22 composable canvas plugins |\n| [`@bpmn-sdk/api`](https://www.npmjs.com/package/@bpmn-sdk/api) | Camunda 8 REST API TypeScript client |\n| [`@bpmn-sdk/ascii`](https://www.npmjs.com/package/@bpmn-sdk/ascii) | Render BPMN diagrams as Unicode ASCII art |\n| [`@bpmn-sdk/profiles`](https://www.npmjs.com/package/@bpmn-sdk/profiles) | Shared auth, profile storage, and client factories for CLI & proxy |\n| [`@bpmn-sdk/operate`](https://www.npmjs.com/package/@bpmn-sdk/operate) | Monitoring & operations frontend for Camunda clusters |\n\n## License\n\n[MIT](https://github.com/bpmn-sdk/monorepo/blob/main/LICENSE) © bpmn-sdk\n","readmeFilename":"README.md"}