@the-real-insight/tri-bpmn-engine 0.1.0

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.
Files changed (98) hide show
  1. package/README.md +112 -0
  2. package/dist/api/routes.d.ts +2 -0
  3. package/dist/api/routes.d.ts.map +1 -0
  4. package/dist/api/routes.js +184 -0
  5. package/dist/api/routes.js.map +1 -0
  6. package/dist/config.d.ts +6 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +9 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/db/client.d.ts +6 -0
  11. package/dist/db/client.d.ts.map +1 -0
  12. package/dist/db/client.js +36 -0
  13. package/dist/db/client.js.map +1 -0
  14. package/dist/db/collections.d.ts +250 -0
  15. package/dist/db/collections.d.ts.map +1 -0
  16. package/dist/db/collections.js +27 -0
  17. package/dist/db/collections.js.map +1 -0
  18. package/dist/db/index.d.ts +12 -0
  19. package/dist/db/index.d.ts.map +1 -0
  20. package/dist/db/index.js +21 -0
  21. package/dist/db/index.js.map +1 -0
  22. package/dist/db/indexes.d.ts +3 -0
  23. package/dist/db/indexes.d.ts.map +1 -0
  24. package/dist/db/indexes.js +34 -0
  25. package/dist/db/indexes.js.map +1 -0
  26. package/dist/engine/transition.d.ts +10 -0
  27. package/dist/engine/transition.d.ts.map +1 -0
  28. package/dist/engine/transition.js +505 -0
  29. package/dist/engine/transition.js.map +1 -0
  30. package/dist/history/service.d.ts +35 -0
  31. package/dist/history/service.d.ts.map +1 -0
  32. package/dist/history/service.js +73 -0
  33. package/dist/history/service.js.map +1 -0
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +99 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/instance/service.d.ts +33 -0
  39. package/dist/instance/service.d.ts.map +1 -0
  40. package/dist/instance/service.js +69 -0
  41. package/dist/instance/service.js.map +1 -0
  42. package/dist/local.d.ts +10 -0
  43. package/dist/local.d.ts.map +1 -0
  44. package/dist/local.js +15 -0
  45. package/dist/local.js.map +1 -0
  46. package/dist/model/parser.d.ts +3 -0
  47. package/dist/model/parser.d.ts.map +1 -0
  48. package/dist/model/parser.js +235 -0
  49. package/dist/model/parser.js.map +1 -0
  50. package/dist/model/parser.test.d.ts +2 -0
  51. package/dist/model/parser.test.d.ts.map +1 -0
  52. package/dist/model/parser.test.js +34 -0
  53. package/dist/model/parser.test.js.map +1 -0
  54. package/dist/model/service.d.ts +16 -0
  55. package/dist/model/service.d.ts.map +1 -0
  56. package/dist/model/service.js +32 -0
  57. package/dist/model/service.js.map +1 -0
  58. package/dist/model/types.d.ts +40 -0
  59. package/dist/model/types.d.ts.map +1 -0
  60. package/dist/model/types.js +3 -0
  61. package/dist/model/types.js.map +1 -0
  62. package/dist/sdk/client.d.ts +136 -0
  63. package/dist/sdk/client.d.ts.map +1 -0
  64. package/dist/sdk/client.js +490 -0
  65. package/dist/sdk/client.js.map +1 -0
  66. package/dist/sdk/facade.d.ts +64 -0
  67. package/dist/sdk/facade.d.ts.map +1 -0
  68. package/dist/sdk/facade.js +156 -0
  69. package/dist/sdk/facade.js.map +1 -0
  70. package/dist/sdk/index.d.ts +23 -0
  71. package/dist/sdk/index.d.ts.map +1 -0
  72. package/dist/sdk/index.js +25 -0
  73. package/dist/sdk/index.js.map +1 -0
  74. package/dist/sdk/types.d.ts +199 -0
  75. package/dist/sdk/types.d.ts.map +1 -0
  76. package/dist/sdk/types.js +6 -0
  77. package/dist/sdk/types.js.map +1 -0
  78. package/dist/workers/processor.d.ts +11 -0
  79. package/dist/workers/processor.d.ts.map +1 -0
  80. package/dist/workers/processor.js +88 -0
  81. package/dist/workers/processor.js.map +1 -0
  82. package/dist/worklist/projection.d.ts +7 -0
  83. package/dist/worklist/projection.d.ts.map +1 -0
  84. package/dist/worklist/projection.js +64 -0
  85. package/dist/worklist/projection.js.map +1 -0
  86. package/dist/worklist/routes.d.ts +2 -0
  87. package/dist/worklist/routes.d.ts.map +1 -0
  88. package/dist/worklist/routes.js +196 -0
  89. package/dist/worklist/routes.js.map +1 -0
  90. package/dist/ws/broadcast.d.ts +24 -0
  91. package/dist/ws/broadcast.d.ts.map +1 -0
  92. package/dist/ws/broadcast.js +84 -0
  93. package/dist/ws/broadcast.js.map +1 -0
  94. package/dist/ws/server.d.ts +7 -0
  95. package/dist/ws/server.d.ts.map +1 -0
  96. package/dist/ws/server.js +31 -0
  97. package/dist/ws/server.js.map +1 -0
  98. package/package.json +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition.js","sourceRoot":"","sources":["../../src/engine/transition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { Db } from 'mongodb';
2
+ import type { ProcessInstanceHistoryDoc } from '../db/collections';
3
+ import type { ProcessInstanceEventDoc } from '../db/collections';
4
+ import type { NormalizedGraph } from '../model/types';
5
+ type InstanceDoc = {
6
+ startedBy?: string;
7
+ startedByDetails?: {
8
+ email: string;
9
+ firstName?: string;
10
+ lastName?: string;
11
+ phone?: string;
12
+ photoUrl?: string;
13
+ };
14
+ };
15
+ type ContinuationPayload = {
16
+ workItemId?: string;
17
+ completedBy?: string;
18
+ completedByDetails?: {
19
+ email: string;
20
+ firstName?: string;
21
+ lastName?: string;
22
+ phone?: string;
23
+ photoUrl?: string;
24
+ };
25
+ result?: unknown;
26
+ };
27
+ /**
28
+ * Build audit trail records from process events.
29
+ * Called by the processor after applying a transition.
30
+ */
31
+ export declare function buildHistoryRecords(instanceId: string, events: ProcessInstanceEventDoc[], instance: InstanceDoc | null, continuationPayload: ContinuationPayload | null, graph: NormalizedGraph): Omit<ProcessInstanceHistoryDoc, '_id'>[];
32
+ /** Retrieve audit trail for a process instance, ordered by seq. */
33
+ export declare function getProcessHistory(db: Db, instanceId: string): Promise<ProcessInstanceHistoryDoc[]>;
34
+ export {};
35
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/history/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,KAAK,WAAW,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChH,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,uBAAuB,EAAE,EACjC,QAAQ,EAAE,WAAW,GAAG,IAAI,EAC5B,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,EAC/C,KAAK,EAAE,eAAe,GACrB,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAuD1C;AAED,mEAAmE;AACnE,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAKtC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildHistoryRecords = buildHistoryRecords;
4
+ exports.getProcessHistory = getProcessHistory;
5
+ const collections_1 = require("../db/collections");
6
+ /**
7
+ * Build audit trail records from process events.
8
+ * Called by the processor after applying a transition.
9
+ */
10
+ function buildHistoryRecords(instanceId, events, instance, continuationPayload, graph) {
11
+ const records = [];
12
+ const now = new Date();
13
+ for (const ev of events) {
14
+ if (ev.type === 'INSTANCE_CREATED') {
15
+ records.push({
16
+ instanceId,
17
+ seq: ev.seq,
18
+ eventType: 'INSTANCE_STARTED',
19
+ at: ev.at,
20
+ startedBy: instance?.startedBy,
21
+ startedByDetails: instance?.startedByDetails,
22
+ createdAt: now,
23
+ });
24
+ }
25
+ else if (ev.type === 'WORK_ITEM_CREATED') {
26
+ const payload = ev.payload;
27
+ const nodeId = payload.nodeId ?? '';
28
+ const node = graph.nodes[nodeId];
29
+ const nodeType = node?.type === 'userTask' ? 'userTask' : 'serviceTask';
30
+ records.push({
31
+ instanceId,
32
+ seq: ev.seq,
33
+ eventType: 'TASK_STARTED',
34
+ at: ev.at,
35
+ nodeId: payload.nodeId,
36
+ nodeName: node?.name,
37
+ nodeType,
38
+ workItemId: payload.workItemId,
39
+ scopeId: payload.scopeId,
40
+ createdAt: now,
41
+ });
42
+ }
43
+ else if (ev.type === 'WORK_ITEM_COMPLETED') {
44
+ const payload = ev.payload;
45
+ const nodeId = payload.nodeId ?? '';
46
+ const node = graph.nodes[nodeId];
47
+ const nodeType = node?.type === 'userTask' ? 'userTask' : 'serviceTask';
48
+ records.push({
49
+ instanceId,
50
+ seq: ev.seq,
51
+ eventType: 'TASK_COMPLETED',
52
+ at: ev.at,
53
+ nodeId: payload.nodeId,
54
+ nodeName: node?.name,
55
+ nodeType,
56
+ workItemId: payload.workItemId,
57
+ completedBy: continuationPayload?.completedBy,
58
+ completedByDetails: continuationPayload?.completedByDetails,
59
+ result: continuationPayload?.result,
60
+ createdAt: now,
61
+ });
62
+ }
63
+ }
64
+ return records;
65
+ }
66
+ /** Retrieve audit trail for a process instance, ordered by seq. */
67
+ async function getProcessHistory(db, instanceId) {
68
+ const { ProcessInstanceHistory } = (0, collections_1.getCollections)(db);
69
+ return ProcessInstanceHistory.find({ instanceId })
70
+ .sort({ seq: 1 })
71
+ .toArray();
72
+ }
73
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/history/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const http_1 = require("http");
40
+ const express_1 = __importDefault(require("express"));
41
+ const client_1 = require("./db/client");
42
+ const indexes_1 = require("./db/indexes");
43
+ const routes_1 = require("./api/routes");
44
+ const routes_2 = require("./worklist/routes");
45
+ const projection_1 = require("./worklist/projection");
46
+ const broadcast_1 = require("./ws/broadcast");
47
+ const config_1 = require("./config");
48
+ const processor_1 = require("./workers/processor");
49
+ const broadcast_2 = require("./ws/broadcast");
50
+ const server_1 = require("./ws/server");
51
+ const app = (0, express_1.default)();
52
+ app.use(express_1.default.json());
53
+ app.use(routes_1.apiRouter);
54
+ app.use(routes_2.worklistRouter);
55
+ const POLL_MS = 500;
56
+ async function workerLoop() {
57
+ const db = (0, client_1.getDb)();
58
+ while (true) {
59
+ try {
60
+ const continuation = await (0, processor_1.claimContinuation)(db);
61
+ if (continuation) {
62
+ try {
63
+ const { outbox, events } = await (0, processor_1.processContinuation)(db, continuation);
64
+ (0, broadcast_2.broadcastAll)(outbox, events);
65
+ }
66
+ catch (err) {
67
+ console.error('Continuation failed:', err);
68
+ const { Continuations } = (await Promise.resolve().then(() => __importStar(require('./db/collections')))).getCollections(db);
69
+ await Continuations.updateOne({ _id: continuation._id }, { $set: { status: 'READY', updatedAt: new Date() }, $unset: { ownerId: '', leaseUntil: '' } });
70
+ }
71
+ }
72
+ }
73
+ catch (err) {
74
+ console.error('Worker error:', err);
75
+ }
76
+ await new Promise((r) => setTimeout(r, POLL_MS));
77
+ }
78
+ }
79
+ async function main() {
80
+ const db = await (0, client_1.connectDb)();
81
+ await (0, indexes_1.ensureIndexes)(db);
82
+ (0, broadcast_1.addStreamHandler)((0, projection_1.createProjectionHandler)(db));
83
+ const httpServer = (0, http_1.createServer)(app);
84
+ (0, server_1.attachWebSocketServer)(httpServer);
85
+ httpServer.listen(config_1.config.port, () => {
86
+ console.log(`tri-bpmn-engine listening on port ${config_1.config.port} (HTTP + WS /ws)`);
87
+ });
88
+ workerLoop();
89
+ process.on('SIGTERM', async () => {
90
+ httpServer.close();
91
+ await (0, client_1.closeDb)();
92
+ process.exit(0);
93
+ });
94
+ }
95
+ main().catch((err) => {
96
+ console.error(err);
97
+ process.exit(1);
98
+ });
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { Db } from 'mongodb';
2
+ export type StartInstanceResult = {
3
+ instanceId: string;
4
+ status: string;
5
+ };
6
+ export declare function startInstance(db: Db, params: {
7
+ commandId: string;
8
+ definitionId: string;
9
+ businessKey?: string;
10
+ tenantId?: string;
11
+ user?: {
12
+ email: string;
13
+ firstName?: string;
14
+ lastName?: string;
15
+ phone?: string;
16
+ photoUrl?: string;
17
+ };
18
+ }): Promise<StartInstanceResult>;
19
+ export declare function getInstance(db: Db, instanceId: string): Promise<{
20
+ _id: string;
21
+ status: string;
22
+ createdAt: Date;
23
+ endedAt?: Date;
24
+ startedBy?: string;
25
+ startedByDetails?: {
26
+ email: string;
27
+ firstName?: string;
28
+ lastName?: string;
29
+ phone?: string;
30
+ photoUrl?: string;
31
+ };
32
+ } | null>;
33
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/instance/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,aAAa,CACjC,EAAE,EAAE,EAAE,EACN,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpG,GACA,OAAO,CAAC,mBAAmB,CAAC,CA6D9B;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChH,GAAG,IAAI,CAAC,CAcR"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startInstance = startInstance;
4
+ exports.getInstance = getInstance;
5
+ const uuid_1 = require("uuid");
6
+ const collections_1 = require("../db/collections");
7
+ const service_1 = require("../model/service");
8
+ async function startInstance(db, params) {
9
+ const cols = (0, collections_1.getCollections)(db);
10
+ const { ProcessDefinitions, ProcessInstances, ProcessInstanceState, Continuations } = cols;
11
+ const def = await (0, service_1.getDefinition)(db, params.definitionId);
12
+ if (!def) {
13
+ throw new Error('Definition not found');
14
+ }
15
+ const instanceId = (0, uuid_1.v4)();
16
+ const now = new Date();
17
+ await ProcessInstances.insertOne({
18
+ _id: instanceId,
19
+ definitionId: params.definitionId,
20
+ tenantId: params.tenantId,
21
+ rootInstanceId: instanceId,
22
+ status: 'RUNNING',
23
+ createdAt: now,
24
+ businessKey: params.businessKey,
25
+ ...(params.user != null && {
26
+ startedBy: params.user.email,
27
+ startedByDetails: params.user,
28
+ }),
29
+ });
30
+ await ProcessInstanceState.insertOne({
31
+ _id: instanceId,
32
+ version: 0,
33
+ status: 'RUNNING',
34
+ tokens: [],
35
+ scopes: [],
36
+ waits: {
37
+ workItems: [],
38
+ messageSubs: [],
39
+ timers: [],
40
+ decisions: [],
41
+ },
42
+ dedupe: {
43
+ processedCommandIds: [],
44
+ completedWorkItemIds: [],
45
+ processedMessageIds: [],
46
+ recordedDecisionIds: [],
47
+ },
48
+ lastEventSeq: 0,
49
+ updatedAt: now,
50
+ });
51
+ await Continuations.insertOne({
52
+ _id: (0, uuid_1.v4)(),
53
+ instanceId,
54
+ dueAt: now,
55
+ kind: 'START',
56
+ payload: { commandId: params.commandId },
57
+ status: 'READY',
58
+ attempts: 0,
59
+ createdAt: now,
60
+ updatedAt: now,
61
+ });
62
+ return { instanceId, status: 'RUNNING' };
63
+ }
64
+ async function getInstance(db, instanceId) {
65
+ const { ProcessInstances } = (0, collections_1.getCollections)(db);
66
+ const doc = await ProcessInstances.findOne({ _id: instanceId }, { projection: { _id: 1, status: 1, createdAt: 1, endedAt: 1, startedBy: 1, startedByDetails: 1 } });
67
+ return doc;
68
+ }
69
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/instance/service.ts"],"names":[],"mappings":";;AAUA,sCAsEC;AAED,kCAwBC;AA1GD,+BAAoC;AAEpC,mDAAmD;AACnD,8CAAiD;AAO1C,KAAK,UAAU,aAAa,CACjC,EAAM,EACN,MAMC;IAED,MAAM,IAAI,GAAG,IAAA,4BAAc,EAAC,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAE3F,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAa,EAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,SAAM,GAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,MAAM,gBAAgB,CAAC,SAAS,CAAC;QAC/B,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG;QACd,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI;YACzB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YAC5B,gBAAgB,EAAE,MAAM,CAAC,IAAI;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,oBAAoB,CAAC,SAAS,CAAC;QACnC,GAAG,EAAE,UAAU;QACf,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,KAAK,EAAE;YACL,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;SACd;QACD,MAAM,EAAE;YACN,mBAAmB,EAAE,EAAE;YACvB,oBAAoB,EAAE,EAAE;YACxB,mBAAmB,EAAE,EAAE;YACvB,mBAAmB,EAAE,EAAE;SACxB;QACD,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,SAAS,CAAC;QAC5B,GAAG,EAAE,IAAA,SAAM,GAAE;QACb,UAAU;QACV,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;QACxC,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,EAAM,EACN,UAAkB;IASlB,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAA,4BAAc,EAAC,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,OAAO,CACxC,EAAE,GAAG,EAAE,UAAU,EAAE,EACnB,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,CACnG,CAAC;IACF,OAAO,GAOC,CAAC;AACX,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Local-mode helpers for worklist projection.
3
+ * Use when running the engine in-process (no REST server).
4
+ *
5
+ * import { addStreamHandler, createProjectionHandler } from 'tri-bpmn-engine/local';
6
+ * addStreamHandler(createProjectionHandler(db));
7
+ */
8
+ export { addStreamHandler } from './ws/broadcast';
9
+ export { createProjectionHandler } from './worklist/projection';
10
+ //# sourceMappingURL=local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/local.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProjectionHandler = exports.addStreamHandler = void 0;
4
+ /**
5
+ * Local-mode helpers for worklist projection.
6
+ * Use when running the engine in-process (no REST server).
7
+ *
8
+ * import { addStreamHandler, createProjectionHandler } from 'tri-bpmn-engine/local';
9
+ * addStreamHandler(createProjectionHandler(db));
10
+ */
11
+ var broadcast_1 = require("./ws/broadcast");
12
+ Object.defineProperty(exports, "addStreamHandler", { enumerable: true, get: function () { return broadcast_1.addStreamHandler; } });
13
+ var projection_1 = require("./worklist/projection");
14
+ Object.defineProperty(exports, "createProjectionHandler", { enumerable: true, get: function () { return projection_1.createProjectionHandler; } });
15
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,4CAAkD;AAAzC,6GAAA,gBAAgB,OAAA;AACzB,oDAAgE;AAAvD,qHAAA,uBAAuB,OAAA"}
@@ -0,0 +1,3 @@
1
+ import type { NormalizedGraph } from './types';
2
+ export declare function parseBpmnXml(xml: string): Promise<NormalizedGraph>;
3
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/model/parser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,SAAS,CAAC;AAyGjE,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA+JxE"}