@bpmnkit/proxy 0.0.31 → 0.0.33

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/README.md CHANGED
@@ -80,10 +80,12 @@ curl -H "X-Profile: production" http://localhost:3033/api/v2/process-definitions
80
80
  | [`@bpmnkit/plugins`](https://www.npmjs.com/package/@bpmnkit/plugins) | 22 composable canvas plugins |
81
81
  | [`@bpmnkit/api`](https://www.npmjs.com/package/@bpmnkit/api) | Camunda 8 REST API TypeScript client |
82
82
  | [`@bpmnkit/ascii`](https://www.npmjs.com/package/@bpmnkit/ascii) | Render BPMN diagrams as Unicode ASCII art |
83
+ | [`@bpmnkit/docspack`](https://www.npmjs.com/package/@bpmnkit/docspack) | BPMN Kit docs as an offline docspack package for AI agents |
83
84
  | [`@bpmnkit/ui`](https://www.npmjs.com/package/@bpmnkit/ui) | Shared design tokens and UI components |
84
85
  | [`@bpmnkit/profiles`](https://www.npmjs.com/package/@bpmnkit/profiles) | Shared auth, profile storage, and client factories for CLI & proxy |
85
86
  | [`@bpmnkit/operate`](https://www.npmjs.com/package/@bpmnkit/operate) | Monitoring & operations frontend for Camunda clusters |
86
87
  | [`@bpmnkit/connector-gen`](https://www.npmjs.com/package/@bpmnkit/connector-gen) | Generate connector templates from OpenAPI specs |
88
+ | [`@bpmnkit/connectors`](https://www.npmjs.com/package/@bpmnkit/connectors) | Camunda 8 OOTB connector catalog and deterministic template application |
87
89
  | [`@bpmnkit/cli`](https://www.npmjs.com/package/@bpmnkit/cli) | Camunda 8 command-line interface (casen) |
88
90
  | [`@bpmnkit/patterns`](https://www.npmjs.com/package/@bpmnkit/patterns) | Domain process patterns for BPMNKit AIKit |
89
91
  | [`@bpmnkit/reebe-wasm`](https://www.npmjs.com/package/@bpmnkit/reebe-wasm) | WebAssembly BPMN engine for browser simulation |
package/dist/aikit-mcp.js CHANGED
@@ -483,6 +483,18 @@ async function toolBpmnSimulate(path, scenarios) {
483
483
  throw new Error(`File not found: ${path}`);
484
484
  const xml = readFileSync(absPath, "utf8");
485
485
  const defs = Bpmn.parse(xml);
486
+ if (scenarios.length > 0) {
487
+ const { Engine, runScenario } = await import("@bpmnkit/engine");
488
+ const results = [];
489
+ for (const scenario of scenarios) {
490
+ results.push(await runScenario(new Engine(), defs, scenario));
491
+ }
492
+ return JSON.stringify({
493
+ mode: "execution",
494
+ note: "Ran each scenario against the in-process TS engine (@bpmnkit/engine): mocked job workers, path/variable assertions. Sub-process tools inside an AI Agent sub-process are not individually executed — the sub-process is dispatched and mocked as a single job.",
495
+ results,
496
+ }, null, 2);
497
+ }
486
498
  // Collect all service task job types referenced in the diagram
487
499
  const referencedJobTypes = new Set();
488
500
  for (const proc of defs.processes) {
@@ -510,7 +522,8 @@ async function toolBpmnSimulate(path, scenarios) {
510
522
  const validationReport = optimize(defs);
511
523
  const errors = validationReport.findings.filter((f) => f.severity === "error");
512
524
  return JSON.stringify({
513
- note: "Phase 1: structural analysis. Full simulation (with process execution) coming in a future phase.",
525
+ mode: "structural",
526
+ note: "No scenarios provided — ran structural analysis only (validation findings + worker coverage). Pass `scenarios` to actually execute the process.",
514
527
  validation: {
515
528
  errors: errors.length,
516
529
  findings: errors.map((f) => ({ message: f.message, elementIds: f.elementIds })),
@@ -520,7 +533,6 @@ async function toolBpmnSimulate(path, scenarios) {
520
533
  covered: coveredWorkers.length,
521
534
  missing: missingWorkers,
522
535
  },
523
- scenariosRequested: scenarios.length,
524
536
  }, null, 2);
525
537
  }
526
538
  async function toolBpmnRunHistory(processId) {
@@ -741,15 +753,18 @@ const TOOLS = [
741
753
  },
742
754
  {
743
755
  name: "bpmn_simulate",
744
- description: "Analyse a BPMN process structurally: checks validation findings and worker coverage. " +
745
- "Full process execution simulation is planned for a future phase.",
756
+ description: "Run or analyse a BPMN process. With `scenarios`, actually executes each one against the " +
757
+ 'in-process TS engine (mocked job workers, path/variable assertions) — mode: "execution". ' +
758
+ "Without scenarios, runs structural analysis only (validation findings + worker coverage) — " +
759
+ 'mode: "structural". The response always reports which mode ran.',
746
760
  inputSchema: {
747
761
  type: "object",
748
762
  properties: {
749
763
  path: { type: "string", description: "Path to the .bpmn file" },
750
764
  scenarios: {
751
765
  type: "array",
752
- description: "Test scenarios (reserved for future use)",
766
+ description: "Test scenarios to execute: { id, name, processId?, inputs?, mocks?: " +
767
+ "{ [taskType]: { outputs?, error? } }, expect?: { path?, variables? } }",
753
768
  items: { type: "object" },
754
769
  },
755
770
  },
package/dist/bridge.js CHANGED
@@ -64,6 +64,7 @@ function ensureProcess(processId) {
64
64
  sequenceFlows: [],
65
65
  textAnnotations: [],
66
66
  associations: [],
67
+ groups: [],
67
68
  unknownAttributes: {},
68
69
  };
69
70
  __state?.processes.push(proc);
@@ -133,6 +133,7 @@ function ensureProcess(processId) {
133
133
  sequenceFlows: [],
134
134
  textAnnotations: [],
135
135
  associations: [],
136
+ groups: [],
136
137
  unknownAttributes: {},
137
138
  };
138
139
  state.data.processes.push(proc);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bpmnkit/proxy",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "description": "Local proxy server for BPMN Kit — AI bridge (SSE/MCP) and Camunda API proxy using stored CLI profiles",
5
5
  "type": "module",
6
6
  "bin": {
@@ -28,10 +28,11 @@
28
28
  "imapflow": "^1.2.18",
29
29
  "isolated-vm": "^7.0.0",
30
30
  "nodemailer": "^6.10.1",
31
- "@bpmnkit/api": "0.0.19",
32
- "@bpmnkit/core": "0.1.0",
33
- "@bpmnkit/patterns": "0.0.4",
34
- "@bpmnkit/profiles": "0.0.17"
31
+ "@bpmnkit/api": "0.0.20",
32
+ "@bpmnkit/core": "0.1.2",
33
+ "@bpmnkit/engine": "0.1.30",
34
+ "@bpmnkit/patterns": "0.0.5",
35
+ "@bpmnkit/profiles": "0.0.18"
35
36
  },
36
37
  "publishConfig": {
37
38
  "access": "public"