@bpmnkit/docspack 0.0.2 → 0.0.4
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/.llms/chunks/cli.casen.aikit-skills.md +2 -2
- package/.llms/chunks/cli.casen.bpmn-generation-pipeline.md +2 -2
- package/.llms/chunks/cli.casen.connection-profiles.md +1 -1
- package/.llms/chunks/cli.casen.generate-bpmn-files.md +3 -3
- package/.llms/chunks/cli.casen.mcp-server-mode.md +31 -0
- package/.llms/chunks/cli.casen.md +1 -1
- package/.llms/chunks/cli.casen.plugins.md +2 -2
- package/.llms/chunks/cli.casen.worker-commands.md +20 -23
- package/.llms/chunks/cli.connector.all-flags.md +1 -1
- package/.llms/chunks/cli.connector.browse-the-bundled-ootb-catalog.md +2 -2
- package/.llms/chunks/cli.connector.built-in-catalog.md +1 -1
- package/.llms/chunks/cli.connector.common-workflows.md +1 -1
- package/.llms/chunks/cli.connector.generate-from-the-openapi-catalog.md +1 -1
- package/.llms/chunks/cli.connector.md +1 -1
- package/.llms/chunks/cli.connector.programmatic-usage.md +2 -2
- package/.llms/chunks/cli.connector.what-gets-generated.md +1 -1
- package/.llms/chunks/cli.diff.flags.md +46 -0
- package/.llms/chunks/cli.diff.md +43 -0
- package/.llms/chunks/cli.diff.the-same-diff-elsewhere.md +14 -0
- package/.llms/chunks/cli.generate.definition-mode-ai-scripting-path.md +1 -1
- package/.llms/chunks/cli.generate.md +1 -1
- package/.llms/chunks/cli.generate.modify-existing-mode-input.md +1 -1
- package/.llms/chunks/cli.generate.typical-ai-workflow.md +1 -1
- package/.llms/chunks/cli.plugin-authoring.md +1 -1
- package/.llms/chunks/cli.plugin-authoring.plugin-naming-conventions.md +1 -1
- package/.llms/chunks/cli.plugin-authoring.test-locally.md +1 -1
- package/.llms/chunks/cli.plugin-authoring.the-bpmnkit-cli-sdk-sdk.md +1 -1
- package/.llms/chunks/cli.plugin-authoring.what-gets-generated.md +1 -1
- package/.llms/chunks/cli.plugin-authoring.writing-commands.md +1 -1
- package/.llms/chunks/cli.plugins.bpmnkit-casen-report.md +1 -1
- package/.llms/chunks/cli.plugins.bpmnkit-casen-worker-http.md +2 -2
- package/.llms/chunks/cli.plugins.md +3 -4
- package/.llms/chunks/cli.skills.deploy.md +1 -1
- package/.llms/chunks/cli.skills.implement.md +2 -2
- package/.llms/chunks/cli.skills.md +2 -2
- package/.llms/chunks/cli.skills.no-mcp-server-required.md +1 -1
- package/.llms/chunks/cli.skills.review.md +1 -1
- package/.llms/chunks/cli.skills.test.md +1 -1
- package/.llms/chunks/cli.view.folder-support.md +1 -1
- package/.llms/chunks/cli.view.md +1 -1
- package/.llms/chunks/cli.view.tabbed-navigation.md +1 -1
- package/.llms/chunks/getting-started.concepts.ai-compact-format.md +13 -2
- package/.llms/chunks/getting-started.concepts.auto-layout.md +1 -1
- package/.llms/chunks/getting-started.concepts.parsing-and-serializing.md +49 -9
- package/.llms/chunks/getting-started.concepts.the-fluent-builder.md +1 -1
- package/.llms/chunks/getting-started.concepts.zeebe-extensions.md +1 -1
- package/.llms/chunks/getting-started.installation.md +1 -1
- package/.llms/chunks/getting-started.installation.runtime-requirements.md +1 -1
- package/.llms/chunks/getting-started.installation.svg-canvas-viewer.md +2 -2
- package/.llms/chunks/getting-started.installation.worker-client.md +1 -1
- package/.llms/chunks/getting-started.quick-start.md +1 -1
- package/.llms/chunks/getting-started.quick-start.step-2-simulate-locally.md +1 -1
- package/.llms/chunks/getting-started.quick-start.step-3-deploy-to-camunda-8.md +1 -1
- package/.llms/chunks/getting-started.quick-start.what-s-next.md +8 -9
- package/.llms/chunks/guides.ai-agents.deploy-grade-validation.md +1 -1
- package/.llms/chunks/guides.ai-agents.how-it-s-modeled.md +1 -1
- package/.llms/chunks/guides.ai-agents.md +1 -1
- package/.llms/chunks/guides.ai-agents.see-also.md +3 -3
- package/.llms/chunks/guides.ai-agents.testing-without-a-real-llm-call.md +1 -1
- package/.llms/chunks/guides.ai-agents.the-aiagent-plan-step.md +1 -1
- package/.llms/chunks/guides.ai-implement.deploying.md +2 -2
- package/.llms/chunks/guides.ai-implement.extending-an-existing-process.md +1 -1
- package/.llms/chunks/guides.ai-implement.lightweight-alternative-casen-skills-install.md +2 -2
- package/.llms/chunks/guides.ai-implement.md +2 -2
- package/.llms/chunks/guides.ai-implement.the-claude-code-plugin.md +2 -2
- package/.llms/chunks/guides.ai.claude-api-example.md +1 -1
- package/.llms/chunks/guides.ai.mcp-server.md +1 -1
- package/.llms/chunks/guides.ai.md +25 -2
- package/.llms/chunks/guides.ai.minimal-empty-diagram.md +1 -1
- package/.llms/chunks/guides.ai.openai-function-calling.md +1 -1
- package/.llms/chunks/guides.building-processes.boundary-events.md +1 -1
- package/.llms/chunks/guides.building-processes.call-activities.md +1 -1
- package/.llms/chunks/guides.building-processes.events.md +1 -1
- package/.llms/chunks/guides.building-processes.multi-instance.md +67 -1
- package/.llms/chunks/guides.building-processes.service-tasks.md +1 -1
- package/.llms/chunks/guides.building-processes.sub-processes.md +1 -1
- package/.llms/chunks/guides.building-processes.task-defaults.md +1 -1
- package/.llms/chunks/guides.claude-code-plugin.ambient-hooks.md +1 -1
- package/.llms/chunks/guides.claude-code-plugin.configuration.md +3 -3
- package/.llms/chunks/guides.claude-code-plugin.md +1 -1
- package/.llms/chunks/guides.claude-code-plugin.reference-docs.md +1 -1
- package/.llms/chunks/guides.deployment.ci-cd-deploy-on-push.md +1 -1
- package/.llms/chunks/guides.deployment.deploying-a-process.md +1 -1
- package/.llms/chunks/guides.deployment.handling-jobs.md +1 -1
- package/.llms/chunks/guides.deployment.managing-incidents.md +1 -1
- package/.llms/chunks/guides.deployment.md +1 -1
- package/.llms/chunks/guides.drop.md +12 -0
- package/.llms/chunks/guides.drop.reviewing-it-together.md +45 -0
- package/.llms/chunks/guides.drop.running-your-own.md +21 -0
- package/.llms/chunks/guides.drop.sharing-a-file.md +42 -0
- package/.llms/chunks/guides.drop.what-drop-is-not.md +12 -0
- package/.llms/chunks/guides.gateways.branching-inside-sub-processes.md +1 -1
- package/.llms/chunks/guides.gateways.exclusive-gateway-xor.md +1 -1
- package/.llms/chunks/guides.gateways.inclusive-gateway-or.md +1 -1
- package/.llms/chunks/guides.gateways.nested-branching.md +1 -1
- package/.llms/chunks/guides.gateways.parallel-gateway-and.md +1 -1
- package/.llms/chunks/guides.patterns.how-matching-works.md +1 -1
- package/.llms/chunks/guides.patterns.md +1 -1
- package/.llms/chunks/guides.patterns.pattern-schema.md +1 -1
- package/.llms/chunks/guides.patterns.see-also.md +2 -2
- package/.llms/chunks/guides.patterns.using-patterns-from-the-cli.md +1 -1
- package/.llms/chunks/guides.patterns.what-a-pattern-contains.md +1 -1
- package/.llms/chunks/guides.simulation.dmn-decision-evaluation.md +1 -1
- package/.llms/chunks/guides.simulation.instance-state.md +1 -1
- package/.llms/chunks/guides.simulation.md +1 -1
- package/.llms/chunks/guides.simulation.message-correlation.md +1 -1
- package/.llms/chunks/guides.simulation.multiple-deployments.md +1 -1
- package/.llms/chunks/guides.vscode.commands.md +14 -0
- package/.llms/chunks/guides.vscode.installing.md +22 -0
- package/.llms/chunks/guides.vscode.md +13 -0
- package/.llms/chunks/guides.vscode.settings.md +19 -0
- package/.llms/chunks/guides.vscode.support.md +11 -0
- package/.llms/chunks/guides.vscode.what-it-does-a-feel-playground-on-your-selection.md +8 -0
- package/.llms/chunks/guides.vscode.what-it-does-a-visual-diff-in-source-control.md +11 -0
- package/.llms/chunks/guides.vscode.what-it-does-copy-the-diagram-as-text.md +8 -0
- package/.llms/chunks/guides.vscode.what-it-does-deploy-against-your-own-clusters.md +21 -0
- package/.llms/chunks/guides.vscode.what-it-does-editing-that-leaves-a-readable-diff.md +22 -0
- package/.llms/chunks/guides.vscode.what-it-does-findings-in-the-problems-panel.md +13 -0
- package/.llms/chunks/guides.vscode.what-it-does-preview-beside-the-source.md +12 -0
- package/.llms/chunks/guides.vscode.what-it-does-run-the-diagram-in-the-editor.md +9 -0
- package/.llms/chunks/guides.workers-standalone.anatomy-of-a-worker.md +1 -1
- package/.llms/chunks/guides.workers-standalone.camunda-saas.md +1 -1
- package/.llms/chunks/guides.workers-standalone.environment-variables.md +1 -1
- package/.llms/chunks/guides.workers-standalone.md +1 -1
- package/.llms/chunks/guides.workers-standalone.running-workers.md +1 -1
- package/.llms/chunks/guides.workers-standalone.see-also.md +3 -3
- package/.llms/chunks/packages.api.incident-resolution.md +1 -1
- package/.llms/chunks/packages.api.observability-events.md +1 -1
- package/.llms/chunks/packages.api.overview.md +1 -1
- package/.llms/chunks/packages.api.process-operations.md +1 -1
- package/.llms/chunks/packages.api.resource-namespaces.md +1 -1
- package/.llms/chunks/packages.canvas.events.md +1 -1
- package/.llms/chunks/packages.canvas.options.md +1 -1
- package/.llms/chunks/packages.canvas.overview.md +1 -1
- package/.llms/chunks/packages.connector-gen.body-expansion.md +1 -1
- package/.llms/chunks/packages.connector-gen.catalog-reference.md +1 -1
- package/.llms/chunks/packages.connector-gen.catalogentry-type.md +2 -2
- package/.llms/chunks/packages.connector-gen.generating-from-the-catalog.md +1 -1
- package/.llms/chunks/packages.connector-gen.installation.md +1 -1
- package/.llms/chunks/packages.connector-gen.lower-level-api.md +1 -1
- package/.llms/chunks/packages.connector-gen.overview.md +1 -1
- package/.llms/chunks/packages.connector-gen.writeoptions.md +1 -1
- package/.llms/chunks/packages.core.dmn-support.md +1 -1
- package/.llms/chunks/packages.core.installation-ad-hoc-sub-processes-children-are-a-set-not-a-chain.md +42 -0
- package/.llms/chunks/packages.core.installation-applybpmnoperations-definitions-operations-options.md +23 -0
- package/.llms/chunks/packages.core.installation-bpmn.continueprocess-definitions-processid.md +45 -0
- package/.llms/chunks/packages.core.installation-bpmn.creatediagram-id.md +1 -1
- package/.llms/chunks/packages.core.installation-bpmn.createprocess-id-name.md +1 -1
- package/.llms/chunks/packages.core.installation-bpmn.export-definitions.md +1 -1
- package/.llms/chunks/packages.core.installation-bpmn.makeempty-processid-processname.md +1 -1
- package/.llms/chunks/packages.core.installation-bpmn.parse-xml.md +1 -1
- package/.llms/chunks/packages.core.installation-bpmn.sample_xml.md +1 -1
- package/.llms/chunks/packages.core.installation-compactify-definitions.md +11 -3
- package/.llms/chunks/packages.core.installation-createflowelement-id-type-options.md +7 -0
- package/.llms/chunks/packages.core.installation-diagrambuilder-collaborations.md +35 -0
- package/.llms/chunks/packages.core.installation-diffdiagram-before-after.md +33 -0
- package/.llms/chunks/packages.core.installation-diffsemantics-before-after.md +15 -0
- package/.llms/chunks/packages.core.installation-element-catalog.md +10 -0
- package/.llms/chunks/packages.core.installation-ensurezeebeextension-owner-extension.md +32 -0
- package/.llms/chunks/packages.core.installation-expand-compact.md +8 -2
- package/.llms/chunks/packages.core.installation-joins-inferred-by-default-or-declared.md +28 -0
- package/.llms/chunks/packages.core.installation-layoutprocess-process.md +1 -1
- package/.llms/chunks/packages.core.installation-processbuilder-methods.md +17 -2
- package/.llms/chunks/packages.core.installation-projectsemantics-definitions.md +7 -0
- package/.llms/chunks/packages.core.installation-reconcilecompact-definitions-compact-options.md +12 -0
- package/.llms/chunks/packages.core.installation-retypeelement-element-type.md +20 -0
- package/.llms/chunks/packages.core.installation-semantichash-definitions.md +23 -0
- package/.llms/chunks/packages.core.installation.md +1 -1
- package/.llms/chunks/packages.core.overview.md +2 -2
- package/.llms/chunks/packages.core.writing-files-bpmnkit-core-node-exportpreserving-original-definitions.md +51 -0
- package/.llms/chunks/packages.core.writing-files-bpmnkit-core-node-writebpmn-definitions-options.md +38 -0
- package/.llms/chunks/packages.core.writing-files-bpmnkit-core-node.md +7 -0
- package/.llms/chunks/packages.docspack.installation.md +2 -2
- package/.llms/chunks/packages.docspack.overview.md +1 -1
- package/.llms/chunks/packages.docspack.reading-it-yourself.md +1 -1
- package/.llms/chunks/packages.docspack.trust.md +1 -1
- package/.llms/chunks/packages.docspack.using-the-index-directly.md +2 -2
- package/.llms/chunks/packages.editor.basic-setup.md +1 -1
- package/.llms/chunks/packages.editor.full-editor-with-all-plugins.md +1 -1
- package/.llms/chunks/packages.editor.hud-options.md +1 -1
- package/.llms/chunks/packages.editor.overview.md +1 -1
- package/.llms/chunks/packages.engine.installation.md +1 -1
- package/.llms/chunks/packages.engine.overview.md +1 -1
- package/.llms/chunks/packages.engine.processinstance.md +1 -1
- package/.llms/chunks/packages.engine.variable-scoping.md +1 -1
- package/.llms/chunks/packages.worker-client.client.poll-jobtype-options.md +1 -1
- package/.llms/chunks/packages.worker-client.createworkerclient-options.md +1 -1
- package/.llms/chunks/packages.worker-client.job.complete-variables.md +1 -1
- package/.llms/chunks/packages.worker-client.md +1 -1
- package/.llms/chunks/packages.worker-client.oauth2-camunda-saas.md +1 -1
- package/.llms/chunks/packages.worker-client.see-also.md +3 -3
- package/.llms/manifest.json +699 -60
- package/README.md +2 -1
- package/dist/chunk.js +1 -1
- package/llms.txt +92 -53
- package/package.json +3 -3
|
@@ -35,7 +35,7 @@ casen reebe # start local workflow engine
|
|
|
35
35
|
|
|
36
36
|
Then in Claude Code: `/implement an invoice approval process`
|
|
37
37
|
|
|
38
|
-
See [AI-Driven Implementation](/guides/ai-implement
|
|
38
|
+
See [AI-Driven Implementation](/docs/guides/ai-implement) for a full walkthrough.
|
|
39
39
|
|
|
40
40
|
---
|
|
41
|
-
Source: https://
|
|
41
|
+
Source: https://bpmnkit.com/docs/getting-started/installation
|
|
@@ -28,4 +28,4 @@ console.log(xml); // valid BPMN 2.0 XML
|
|
|
28
28
|
The `xml` string is a complete, valid BPMN 2.0 document that any standards-compliant engine can load.
|
|
29
29
|
|
|
30
30
|
---
|
|
31
|
-
Source: https://
|
|
31
|
+
Source: https://bpmnkit.com/docs/getting-started/quick-start
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
# Quick Start — What's next?
|
|
2
2
|
|
|
3
|
-
- [AI-Driven Implementation](/guides/ai-implement
|
|
4
|
-
- [Core Concepts](/getting-started/concepts
|
|
5
|
-
- [Building Processes](/guides/building-processes
|
|
6
|
-
- [Gateways & Branching](/guides/gateways
|
|
3
|
+
- [AI-Driven Implementation](/docs/guides/ai-implement) — let Claude implement processes end-to-end from a description
|
|
4
|
+
- [Core Concepts](/docs/getting-started/concepts) — understand how the builder, layout, and roundtrip work
|
|
5
|
+
- [Building Processes](/docs/guides/building-processes) — tasks, events, sub-processes, and markers
|
|
6
|
+
- [Gateways & Branching](/docs/guides/gateways) — exclusive, parallel, and event-based gateways
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
:::
|
|
8
|
+
> **AI-first workflow** — if you have Claude Code, the fastest path is `casen skills install`
|
|
9
|
+
> then `/implement <description>`. Claude generates the BPMN, scaffolds workers, and deploys —
|
|
10
|
+
> all from a single prompt.
|
|
12
11
|
|
|
13
12
|
---
|
|
14
|
-
Source: https://
|
|
13
|
+
Source: https://bpmnkit.com/docs/getting-started/quick-start
|
|
@@ -15,4 +15,4 @@ generates this pattern the same way it generates everything else: deterministica
|
|
|
15
15
|
Or, from the CLI directly: write an `aiAgent` plan step (see below), then `casen synth`.
|
|
16
16
|
|
|
17
17
|
---
|
|
18
|
-
Source: https://
|
|
18
|
+
Source: https://bpmnkit.com/docs/guides/ai-agents
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AI Agents — See also
|
|
2
2
|
|
|
3
|
-
- [Building Processes with AI](/guides/ai-implement
|
|
4
|
-
- [`casen connector`](/cli/connector
|
|
3
|
+
- [Building Processes with AI](/docs/guides/ai-implement) — the overall plan/synth pipeline
|
|
4
|
+
- [`casen connector`](/docs/cli/connector) — searching the catalog for connector-backed tools
|
|
5
5
|
|
|
6
6
|
---
|
|
7
|
-
Source: https://
|
|
7
|
+
Source: https://bpmnkit.com/docs/guides/ai-agents
|
|
@@ -23,4 +23,4 @@ exercise the agent's actual tool-calling behavior, prompt quality, or model choi
|
|
|
23
23
|
require a real (or sandboxed) LLM run, which is out of scope for `casen test`.
|
|
24
24
|
|
|
25
25
|
---
|
|
26
|
-
Source: https://
|
|
26
|
+
Source: https://bpmnkit.com/docs/guides/ai-agents
|
|
@@ -43,7 +43,7 @@ Or start all workers at once:
|
|
|
43
43
|
casen worker start
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
See [Standalone Workers](/guides/workers-standalone
|
|
46
|
+
See [Standalone Workers](/docs/guides/workers-standalone) for deployment options.
|
|
47
47
|
|
|
48
48
|
---
|
|
49
|
-
Source: https://
|
|
49
|
+
Source: https://bpmnkit.com/docs/guides/ai-implement
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
This lifts the process back into plan form (`casen plan extract`), writes a small delta plan touching only the changed step, and merges it in (`casen synth --merge`) — the diff is reported at the element level, not as an XML diff.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
|
-
Source: https://
|
|
10
|
+
Source: https://bpmnkit.com/docs/guides/ai-implement
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Building Processes with AI — Lightweight alternative: `casen skills install`
|
|
2
2
|
|
|
3
|
-
If you don't want the full plugin, four minimal slash commands are available directly from the CLI — see [AIKit Skills](/cli/skills
|
|
3
|
+
If you don't want the full plugin, four minimal slash commands are available directly from the CLI — see [AIKit Skills](/docs/cli/skills):
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
6
|
casen skills install
|
|
@@ -25,4 +25,4 @@ project/
|
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
---
|
|
28
|
-
Source: https://
|
|
28
|
+
Source: https://bpmnkit.com/docs/guides/ai-implement
|
|
@@ -20,7 +20,7 @@ more reliable: write the plan, resolve connectors, and fix reported problems.
|
|
|
20
20
|
(for later edits)
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
1. **Check for a reusable domain pattern** — `casen pattern list`/`get` (see [Pattern Library](/guides/patterns
|
|
23
|
+
1. **Check for a reusable domain pattern** — `casen pattern list`/`get` (see [Pattern Library](/docs/guides/patterns)) surfaces domain context (regulations, conventions) and realistic worker specs, used as reference while writing the plan below — not pasted in as a `ProcessPlan` directly.
|
|
24
24
|
2. **Resolve external interactions** — `casen connector search "<system>"` / `casen connector show <template-id>` find the right Camunda connector template and its required inputs, instead of guessing property keys.
|
|
25
25
|
3. **Write the plan** — a `ProcessPlan` JSON file (`casen plan schema` prints the full format reference).
|
|
26
26
|
4. **Compile** — `casen synth <plan>.json --output <file>.bpmn`. Problems are reported keyed by JSON path (e.g. `steps[2].connector.values.token`) — fix the plan, never the XML, and re-run.
|
|
@@ -29,4 +29,4 @@ more reliable: write the plan, resolve connectors, and fix reported problems.
|
|
|
29
29
|
7. **Deploy** — `casen deploy deploy <file>.bpmn` (local Reebe) or `--target camunda8`.
|
|
30
30
|
|
|
31
31
|
---
|
|
32
|
-
Source: https://
|
|
32
|
+
Source: https://bpmnkit.com/docs/guides/ai-implement
|
|
@@ -15,7 +15,7 @@ It's **CLI-first**: every skill drives `casen` via Bash — no MCP server, no pr
|
|
|
15
15
|
|
|
16
16
|
Claude works through: resolve connectors → write the plan → compile → test → scaffold missing workers → present a summary → ask where to deploy.
|
|
17
17
|
|
|
18
|
-
Related skills: `/bpmnkit:extend <file> <change>` (lift an existing process to a plan, apply a targeted delta, merge), `/bpmnkit:agent` (design an AI Agent Sub-process — see [AI Agents](/guides/ai-agents
|
|
18
|
+
Related skills: `/bpmnkit:extend <file> <change>` (lift an existing process to a plan, apply a targeted delta, merge), `/bpmnkit:agent` (design an AI Agent Sub-process — see [AI Agents](/docs/guides/ai-agents)), `/bpmnkit:connect <file> <step> <service>` (wire an existing step to a connector), `/bpmnkit:review`, `/bpmnkit:test`, `/bpmnkit:deploy`.
|
|
19
19
|
|
|
20
20
|
---
|
|
21
|
-
Source: https://
|
|
21
|
+
Source: https://bpmnkit.com/docs/guides/ai-implement
|
|
@@ -8,7 +8,7 @@ produces valid BPMN without requiring the AI to write raw XML.
|
|
|
8
8
|
## The Compact Format
|
|
9
9
|
|
|
10
10
|
Raw BPMN XML is far too verbose for LLMs — a simple three-node process generates ~60 lines.
|
|
11
|
-
The compact format
|
|
11
|
+
The compact format carries the topology and the common Zeebe bindings as a small JSON object:
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
14
|
import { Bpmn, compactify, expand } from "@bpmnkit/core";
|
|
@@ -28,5 +28,28 @@ const updatedDefinitions = expand(modified);
|
|
|
28
28
|
const updatedXml = Bpmn.export(updatedDefinitions);
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
+
> **`expand()` does not restore what `compactify()` left behind.** `CompactElement` models
|
|
32
|
+
> about fifteen properties; collaborations, participants, message flows, lanes, data stores,
|
|
33
|
+
> artifacts, root-level messages and errors, multi-instance loop characteristics, full
|
|
34
|
+
> `zeebe:ioMapping` entries and most diagram interchange are not among them.
|
|
35
|
+
>
|
|
36
|
+
> The loop above is safe for a model **you generated** from a compact definition. Running it
|
|
37
|
+
> over a file authored elsewhere — a Camunda blueprint, anything touched in Web Modeler —
|
|
38
|
+
> will silently strip those parts.
|
|
39
|
+
>
|
|
40
|
+
> **Use `reconcileCompact` instead when editing an existing file.** It applies the same compact
|
|
41
|
+
> input as changes rather than expanding it over the model, so what the compact form cannot
|
|
42
|
+
> describe survives:
|
|
43
|
+
>
|
|
44
|
+
> ```typescript
|
|
45
|
+
> import { reconcileCompact } from "@bpmnkit/core";
|
|
46
|
+
>
|
|
47
|
+
> const { definitions } = reconcileCompact(Bpmn.parse(existingXml), modified);
|
|
48
|
+
> const updatedXml = Bpmn.export(definitions);
|
|
49
|
+
> ```
|
|
50
|
+
>
|
|
51
|
+
> If the model returns edit operations rather than a whole diagram, `applyBpmnOperations` takes
|
|
52
|
+
> them directly against the full model.
|
|
53
|
+
|
|
31
54
|
---
|
|
32
|
-
Source: https://
|
|
55
|
+
Source: https://bpmnkit.com/docs/guides/ai
|
|
@@ -16,5 +16,71 @@ Run a task or sub-process once per item in a collection:
|
|
|
16
16
|
})
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
|
|
20
|
+
## Generated IDs
|
|
21
|
+
|
|
22
|
+
You name every flow node. The builder names everything else, and it derives those names from
|
|
23
|
+
the model so that rebuilding an unchanged process produces unchanged BPMN — a diff that shows
|
|
24
|
+
only what you actually changed.
|
|
25
|
+
|
|
26
|
+
A sequence flow is named after the two elements it connects:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
Bpmn.createProcess("orders")
|
|
30
|
+
.startEvent("start")
|
|
31
|
+
.serviceTask("validate", { taskType: "validate" })
|
|
32
|
+
.endEvent("done")
|
|
33
|
+
.build()
|
|
34
|
+
// Flow_start_validate, Flow_validate_done
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
When several flows connect the same pair — the branches of a gateway converging on one join —
|
|
38
|
+
each gets a discriminator taken from the branch name, or from its condition when the branch is
|
|
39
|
+
unnamed:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
.exclusiveGateway("gw")
|
|
43
|
+
.branch("approved", (b) => b.connectTo("done"))
|
|
44
|
+
.branch("rejected", (b) => b.connectTo("done"))
|
|
45
|
+
// Flow_gw_gw_join_approved, Flow_gw_gw_join_rejected
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Because the id comes from the connection rather than from a counter, adding or reordering an
|
|
49
|
+
unrelated element leaves the other flows' ids alone. The same is true of root definitions
|
|
50
|
+
created from event options — `Message_Order_Received` for `messageName: "Order Received"`, and
|
|
51
|
+
likewise `Error_`, `Signal_` and `Escalation_` from the code or name they carry.
|
|
52
|
+
|
|
53
|
+
Two consequences worth knowing:
|
|
54
|
+
|
|
55
|
+
- **Ids are only as stable as the elements they name.** Omitting an element id (`.startEvent()`
|
|
56
|
+
with no argument) gets you a generated one that changes on every build, and the flow ids
|
|
57
|
+
around it inherit that. Name the nodes you care about.
|
|
58
|
+
- **`defaultFlow` becomes predictable.** Setting a gateway's default by id no longer requires
|
|
59
|
+
knowing a random value: `{ defaultFlow: "Flow_gw_gw_join_rejected" }`. `.branch().defaultFlow()`
|
|
60
|
+
is still the shorter way to say it.
|
|
61
|
+
|
|
62
|
+
`continueProcess()` never renumbers what the document arrived with: flows the builder did not
|
|
63
|
+
create keep their ids, and new ones avoid them.
|
|
64
|
+
|
|
65
|
+
### Naming a root definition yourself
|
|
66
|
+
|
|
67
|
+
When the id of a message, error, signal or escalation matters — because a message flow in another
|
|
68
|
+
pool, a worker, or a deployed process already refers to it — declare it before the events that
|
|
69
|
+
use it:
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
Bpmn.createProcess("orders")
|
|
73
|
+
.message("Msg_OrderReceived", { name: "Order Received" })
|
|
74
|
+
.error("Err_OutOfStock", { code: "OUT_OF_STOCK", name: "Out of stock" })
|
|
75
|
+
.signal("Sig_Cancelled", { name: "Order Cancelled" })
|
|
76
|
+
.escalation("Esc_Review", { code: "NEEDS_REVIEW" })
|
|
77
|
+
.startEvent("start", { messageName: "Order Received" }) // messageRef: Msg_OrderReceived
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Events still name these by name or code, exactly as before — the declaration only decides the id
|
|
81
|
+
they resolve to. Order matters: an event built first declares the definition itself, and
|
|
82
|
+
declaring it afterwards under a different id throws rather than leaving two definitions of one
|
|
83
|
+
message behind.
|
|
84
|
+
|
|
19
85
|
---
|
|
20
|
-
Source: https://
|
|
86
|
+
Source: https://bpmnkit.com/docs/guides/building-processes
|
|
@@ -7,7 +7,7 @@ When the plugin is enabled, Claude Code prompts for two optional values:
|
|
|
7
7
|
| `camunda_endpoint` | Camunda 8 REST API endpoint (leave blank for local Reebe) |
|
|
8
8
|
| `camunda_token` | Camunda 8 OAuth2 token (leave blank for local Reebe) |
|
|
9
9
|
|
|
10
|
-
Leave both blank to use the local [Reebe engine](/cli/reebe).
|
|
10
|
+
Leave both blank to use the local [Reebe engine](/docs/cli/casen#local-engine-reebe).
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -51,7 +51,7 @@ Design and add a Camunda AI Agent Sub-process.
|
|
|
51
51
|
|
|
52
52
|
Works out the provider/model, prompts, and tools (each mapped via connector search or an
|
|
53
53
|
existing worker job type), then compiles and mock-tests the agent step. See
|
|
54
|
-
[AI Agents](/guides/ai-agents
|
|
54
|
+
[AI Agents](/docs/guides/ai-agents) for the full pattern.
|
|
55
55
|
|
|
56
56
|
---
|
|
57
57
|
|
|
@@ -123,4 +123,4 @@ List open incidents with suggested resolution actions.
|
|
|
123
123
|
---
|
|
124
124
|
|
|
125
125
|
---
|
|
126
|
-
Source: https://
|
|
126
|
+
Source: https://bpmnkit.com/docs/guides/claude-code-plugin
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Drop — Share & Co-edit
|
|
2
|
+
|
|
3
|
+
[BPMN Kit Drop](/drop) is the shortest path between a diagram on your machine and the
|
|
4
|
+
person who needs to look at it. Drag a file onto the page, get a short link back, send it.
|
|
5
|
+
Whoever opens the link sees the diagram rendered in their browser — no account, no modeler
|
|
6
|
+
install, and no Camunda cluster anywhere in the story.
|
|
7
|
+
|
|
8
|
+
It is also where a review happens. A drop is not frozen: anyone with the link can take the
|
|
9
|
+
edit baton, change the diagram, and everyone else watching sees the change arrive.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
Source: https://bpmnkit.com/docs/guides/drop
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Drop — Share & Co-edit — Reviewing it together
|
|
2
|
+
|
|
3
|
+
Everything below happens on the share page itself — there is nothing to install on either
|
|
4
|
+
end.
|
|
5
|
+
|
|
6
|
+
**Live presence.** The topbar counts the people who have the drop open, and says when one
|
|
7
|
+
of them is editing. A diagram moving under a reader's eyes is only unsettling when nothing
|
|
8
|
+
on the page explains it.
|
|
9
|
+
|
|
10
|
+
**One writer at a time.** Editing is a baton, not a merge. Press **Edit** to claim it and
|
|
11
|
+
the diagram becomes editable for you and stays live for everyone else; press **Done** to
|
|
12
|
+
hand it back. A second person pressing Edit while you hold it is told who has it. There is
|
|
13
|
+
no conflict resolution because there is never a second writer to conflict with.
|
|
14
|
+
|
|
15
|
+
**No save button.** Changes persist as you make them, so there is no moment at which a
|
|
16
|
+
reviewer can lose work by closing the tab — and none at which they can be asked whether
|
|
17
|
+
they meant it. That is what makes the version log below load-bearing rather than a nicety.
|
|
18
|
+
|
|
19
|
+
**Version history.** Every file keeps the original it was uploaded as, pinned and never
|
|
20
|
+
overwritten, plus its ten most recent milestones. Repeated saves inside an hour collapse
|
|
21
|
+
into one milestone, and a new editing session always starts its own, so a stranger editing
|
|
22
|
+
at 10:45 cannot overwrite the previous editor's 10:30 state. Restoring **appends**: the
|
|
23
|
+
state being replaced becomes a milestone first, so restoring can never be the thing that
|
|
24
|
+
loses work. Undoing a restore is another restore.
|
|
25
|
+
|
|
26
|
+
**Visual diff.** Two drops can be put side by side at `/drop/<before>/diff/<after>`: added,
|
|
27
|
+
removed, changed and *moved* elements marked on synchronised canvases, with pan and zoom
|
|
28
|
+
locked together. The same diff is available offline as
|
|
29
|
+
[`casen diff bpmn`](/docs/cli/diff) and as a plugin in `@bpmnkit/plugins`.
|
|
30
|
+
|
|
31
|
+
Editing is limited to BPMN files with a single process — the editor handles one process at
|
|
32
|
+
a time — and the built-in demo drop is read-only, though **Edit a copy** will upload it as a
|
|
33
|
+
drop of your own.
|
|
34
|
+
|
|
35
|
+
### Rate limiting the edit baton
|
|
36
|
+
|
|
37
|
+
Because a drop is editable by anyone holding the link, claiming the baton can be put behind
|
|
38
|
+
a [Turnstile](https://developers.cloudflare.com/turnstile/) challenge — one challenge per
|
|
39
|
+
editing session, not per keystroke. It is invisible to somebody who takes the baton once and
|
|
40
|
+
edits for half an hour, and a real cost to a script that wants to rewrite every drop it can
|
|
41
|
+
find. On a self-hosted deployment it is configuration (`TURNSTILE_SITE_KEY` and
|
|
42
|
+
`TURNSTILE_SECRET`); with neither set, claims are not challenged.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
Source: https://bpmnkit.com/docs/guides/drop
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Drop — Share & Co-edit — Running your own
|
|
2
|
+
|
|
3
|
+
Drop is a single Cloudflare Worker in the monorepo (`apps/drop`), MIT-licensed like
|
|
4
|
+
everything else. Files live in D1 as the typed `@bpmnkit/core` model alongside the
|
|
5
|
+
byte-faithful original; presence and live editing are a Durable Object per share.
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
pnpm --filter @bpmnkit/drop build
|
|
9
|
+
wrangler d1 migrations apply bpmnkit-drop --local
|
|
10
|
+
wrangler dev --local --port 8787 \
|
|
11
|
+
--var DROP_ADMIN_TOKEN:devtoken --var REPORT_IP_SALT:devsalt
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
That runs the Worker, D1 and the Durable Object in a local simulator, so the whole app works
|
|
15
|
+
offline with no Cloudflare account. For a real deployment,
|
|
16
|
+
`pnpm --filter @bpmnkit/drop provision` is an idempotent script that creates the database,
|
|
17
|
+
applies the migrations, builds the client bundles and deploys the Worker; re-running it
|
|
18
|
+
skips whatever is already in place. See `apps/drop/DEPLOY.md` for the full runbook.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
Source: https://bpmnkit.com/docs/guides/drop
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Drop — Share & Co-edit — Sharing a file
|
|
2
|
+
|
|
3
|
+
Open <https://bpmnkit.com/drop> and drop a file onto the page — the whole page is the
|
|
4
|
+
target — or paste one from the clipboard. `.bpmn`, `.dmn` and `.form` are all rendered;
|
|
5
|
+
`.xml` and `.json` are accepted and sniffed for the kinds above.
|
|
6
|
+
|
|
7
|
+
| Limit | Value |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| Files per drop | 20 |
|
|
10
|
+
| Size of a single file | 900 KB |
|
|
11
|
+
| Total per drop | 5 MB |
|
|
12
|
+
| Retention | 90 days after the last view or edit |
|
|
13
|
+
|
|
14
|
+
The share id is 11 base58 characters — about 64 bits, so a drop is unguessable and
|
|
15
|
+
unlistable, but it is **not** access-controlled: anyone holding the link can view the
|
|
16
|
+
diagram and take a turn editing it. Treat a drop the way you would treat an unlisted link,
|
|
17
|
+
not the way you would treat a private repository.
|
|
18
|
+
|
|
19
|
+
You can also start a drop from a diagram you just drew rather than a file you already had:
|
|
20
|
+
the [browser editor](/editor) has **Share as a drop** in its main menu, which uploads the
|
|
21
|
+
open diagram through the same endpoint and the same checks.
|
|
22
|
+
|
|
23
|
+
### From the command line
|
|
24
|
+
|
|
25
|
+
A drop is a plain HTTP upload, so `curl` works:
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
curl -s -X POST https://bpmnkit.com/drop/api/drops \
|
|
29
|
+
-F files=@order-process.bpmn
|
|
30
|
+
# → { "shareId": "7Fq2mKd9xTs", "url": "https://bpmnkit.com/drop/7Fq2mKd9xTs", "files": [...] }
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
And the stored file comes back either as uploaded or as the parsed model:
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
curl -s https://bpmnkit.com/drop/<shareId>/manifest.json
|
|
37
|
+
curl -s "https://bpmnkit.com/drop/<shareId>/f/order-process.bpmn" # original bytes
|
|
38
|
+
curl -s "https://bpmnkit.com/drop/<shareId>/f/order-process.bpmn?format=json" # @bpmnkit/core model
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
Source: https://bpmnkit.com/docs/guides/drop
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Drop — Share & Co-edit — What Drop is not
|
|
2
|
+
|
|
3
|
+
- **Not a permission system.** Link-holders are editors. If a diagram should not be
|
|
4
|
+
editable by whoever it reaches, do not put it in a drop.
|
|
5
|
+
- **Not storage.** A drop expires 90 days after it was last touched, and the version log
|
|
6
|
+
holds eleven states, not every state.
|
|
7
|
+
- **Not a modeler.** It renders and edits one process at a time. For authoring, use the
|
|
8
|
+
[browser editor](/editor), the [VS Code extension](/docs/guides/vscode) or the
|
|
9
|
+
[builder API](/docs/packages/core).
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
Source: https://bpmnkit.com/docs/guides/drop
|
|
@@ -24,4 +24,4 @@ Auto-join gateway insertion applies inside sub-processes the same way it does at
|
|
|
24
24
|
top level — converging branches automatically get a matching join gateway.
|
|
25
25
|
|
|
26
26
|
---
|
|
27
|
-
Source: https://
|
|
27
|
+
Source: https://bpmnkit.com/docs/guides/gateways
|