@miragon/pulse-engine-core 0.0.0-bootstrap.0 → 0.25.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 (150) hide show
  1. package/LICENSE +21 -0
  2. package/dist/activities.d.ts +31 -0
  3. package/dist/activities.d.ts.map +1 -0
  4. package/dist/activities.js +62 -0
  5. package/dist/activities.js.map +1 -0
  6. package/dist/advance-plan.d.ts +21 -0
  7. package/dist/advance-plan.d.ts.map +1 -0
  8. package/dist/advance-plan.js +192 -0
  9. package/dist/advance-plan.js.map +1 -0
  10. package/dist/conditions.d.ts +66 -0
  11. package/dist/conditions.d.ts.map +1 -0
  12. package/dist/conditions.js +119 -0
  13. package/dist/conditions.js.map +1 -0
  14. package/dist/dates.d.ts +59 -0
  15. package/dist/dates.d.ts.map +1 -0
  16. package/dist/dates.js +189 -0
  17. package/dist/dates.js.map +1 -0
  18. package/dist/durations.d.ts +4 -0
  19. package/dist/durations.d.ts.map +1 -0
  20. package/dist/durations.js +10 -0
  21. package/dist/durations.js.map +1 -0
  22. package/dist/engine-status.d.ts +57 -0
  23. package/dist/engine-status.d.ts.map +1 -0
  24. package/dist/engine-status.js +193 -0
  25. package/dist/engine-status.js.map +1 -0
  26. package/dist/errors.d.ts +101 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +18 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/filters.d.ts +53 -0
  31. package/dist/filters.d.ts.map +1 -0
  32. package/dist/filters.js +74 -0
  33. package/dist/filters.js.map +1 -0
  34. package/dist/findings.d.ts +46 -0
  35. package/dist/findings.d.ts.map +1 -0
  36. package/dist/findings.js +105 -0
  37. package/dist/findings.js.map +1 -0
  38. package/dist/incident-recovery.d.ts +35 -0
  39. package/dist/incident-recovery.d.ts.map +1 -0
  40. package/dist/incident-recovery.js +24 -0
  41. package/dist/incident-recovery.js.map +1 -0
  42. package/dist/index.d.ts +36 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +33 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/inspect.d.ts +34 -0
  47. package/dist/inspect.d.ts.map +1 -0
  48. package/dist/inspect.js +247 -0
  49. package/dist/inspect.js.map +1 -0
  50. package/dist/next.d.ts +26 -0
  51. package/dist/next.d.ts.map +1 -0
  52. package/dist/next.js +83 -0
  53. package/dist/next.js.map +1 -0
  54. package/dist/operations.d.ts +9 -0
  55. package/dist/operations.d.ts.map +1 -0
  56. package/dist/operations.js +41 -0
  57. package/dist/operations.js.map +1 -0
  58. package/dist/poll.d.ts +24 -0
  59. package/dist/poll.d.ts.map +1 -0
  60. package/dist/poll.js +29 -0
  61. package/dist/poll.js.map +1 -0
  62. package/dist/port.d.ts +95 -0
  63. package/dist/port.d.ts.map +1 -0
  64. package/dist/port.js +113 -0
  65. package/dist/port.js.map +1 -0
  66. package/dist/records.d.ts +27 -0
  67. package/dist/records.d.ts.map +1 -0
  68. package/dist/records.js +58 -0
  69. package/dist/records.js.map +1 -0
  70. package/dist/requests.d.ts +24 -0
  71. package/dist/requests.d.ts.map +1 -0
  72. package/dist/requests.js +35 -0
  73. package/dist/requests.js.map +1 -0
  74. package/dist/retry-plan.d.ts +62 -0
  75. package/dist/retry-plan.d.ts.map +1 -0
  76. package/dist/retry-plan.js +140 -0
  77. package/dist/retry-plan.js.map +1 -0
  78. package/dist/root-cause.d.ts +17 -0
  79. package/dist/root-cause.d.ts.map +1 -0
  80. package/dist/root-cause.js +35 -0
  81. package/dist/root-cause.js.map +1 -0
  82. package/dist/select.d.ts +16 -0
  83. package/dist/select.d.ts.map +1 -0
  84. package/dist/select.js +133 -0
  85. package/dist/select.js.map +1 -0
  86. package/dist/snapshot.d.ts +12 -0
  87. package/dist/snapshot.d.ts.map +1 -0
  88. package/dist/snapshot.js +134 -0
  89. package/dist/snapshot.js.map +1 -0
  90. package/dist/sorting.d.ts +20 -0
  91. package/dist/sorting.d.ts.map +1 -0
  92. package/dist/sorting.js +17 -0
  93. package/dist/sorting.js.map +1 -0
  94. package/dist/status.d.ts +91 -0
  95. package/dist/status.d.ts.map +1 -0
  96. package/dist/status.js +222 -0
  97. package/dist/status.js.map +1 -0
  98. package/dist/testing/fake-port.d.ts +31 -0
  99. package/dist/testing/fake-port.d.ts.map +1 -0
  100. package/dist/testing/fake-port.js +50 -0
  101. package/dist/testing/fake-port.js.map +1 -0
  102. package/dist/testing/fixture.d.ts +39 -0
  103. package/dist/testing/fixture.d.ts.map +1 -0
  104. package/dist/testing/fixture.js +288 -0
  105. package/dist/testing/fixture.js.map +1 -0
  106. package/dist/testing/index.d.ts +23 -0
  107. package/dist/testing/index.d.ts.map +1 -0
  108. package/dist/testing/index.js +23 -0
  109. package/dist/testing/index.js.map +1 -0
  110. package/dist/testing/inspect-routes.d.ts +12 -0
  111. package/dist/testing/inspect-routes.d.ts.map +1 -0
  112. package/dist/testing/inspect-routes.js +63 -0
  113. package/dist/testing/inspect-routes.js.map +1 -0
  114. package/dist/testing/status.d.ts +18 -0
  115. package/dist/testing/status.d.ts.map +1 -0
  116. package/dist/testing/status.js +12 -0
  117. package/dist/testing/status.js.map +1 -0
  118. package/dist/testing/waits.d.ts +60 -0
  119. package/dist/testing/waits.d.ts.map +1 -0
  120. package/dist/testing/waits.js +53 -0
  121. package/dist/testing/waits.js.map +1 -0
  122. package/dist/timeline.d.ts +9 -0
  123. package/dist/timeline.d.ts.map +1 -0
  124. package/dist/timeline.js +63 -0
  125. package/dist/timeline.js.map +1 -0
  126. package/dist/tree.d.ts +19 -0
  127. package/dist/tree.d.ts.map +1 -0
  128. package/dist/tree.js +61 -0
  129. package/dist/tree.js.map +1 -0
  130. package/dist/types.d.ts +254 -0
  131. package/dist/types.d.ts.map +1 -0
  132. package/dist/types.js +6 -0
  133. package/dist/types.js.map +1 -0
  134. package/dist/util.d.ts +26 -0
  135. package/dist/util.d.ts.map +1 -0
  136. package/dist/util.js +44 -0
  137. package/dist/util.js.map +1 -0
  138. package/dist/variable-writes.d.ts +32 -0
  139. package/dist/variable-writes.d.ts.map +1 -0
  140. package/dist/variable-writes.js +113 -0
  141. package/dist/variable-writes.js.map +1 -0
  142. package/dist/variables.d.ts +28 -0
  143. package/dist/variables.d.ts.map +1 -0
  144. package/dist/variables.js +64 -0
  145. package/dist/variables.js.map +1 -0
  146. package/dist/waits.d.ts +11 -0
  147. package/dist/waits.d.ts.map +1 -0
  148. package/dist/waits.js +253 -0
  149. package/dist/waits.js.map +1 -0
  150. package/package.json +47 -5
package/dist/waits.js ADDED
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Where an instance tree waits: one wait state per user task, external task, job
3
+ * and message, signal or conditional event subscription, plus the leaf activity instances that
4
+ * wait for something else. Pure and independent of the order of the engine's lists.
5
+ */
6
+ import { compact } from "./util.js";
7
+ import { indexActivities } from "./activities.js";
8
+ import { amount, compareText, field, num, str, yes } from "./records.js";
9
+ const EVENT_KINDS = new Set(["message", "signal", "conditional"]);
10
+ /** The id of the wait state's resource: task, external task, job, subscription or execution. */
11
+ export function waitId(wait) {
12
+ switch (wait.kind) {
13
+ case "userTask":
14
+ return wait.taskId;
15
+ case "externalTask":
16
+ return wait.externalTaskId;
17
+ case "timer":
18
+ case "asyncContinuation":
19
+ return wait.jobId;
20
+ case "message":
21
+ case "signal":
22
+ case "conditional":
23
+ return wait.eventSubscriptionId;
24
+ case "other":
25
+ return wait.executionId;
26
+ }
27
+ }
28
+ /** The activity a trigger on another activity (a boundary event) is attached to. */
29
+ function attachment(node, activityId) {
30
+ if (node === undefined || node.root || node.activityId === activityId)
31
+ return undefined;
32
+ return node.activityId;
33
+ }
34
+ /** The common fields; the activity instance names the activity and the attachment. */
35
+ function base(context, trigger) {
36
+ const { node, activityId } = trigger;
37
+ if (node !== undefined)
38
+ context.covered.add(node.id);
39
+ const pid = trigger.processInstanceId ?? node?.processInstanceId;
40
+ const own = node?.activityId === activityId ? node : undefined;
41
+ return {
42
+ ...compact({ processInstanceId: pid === context.data.id ? undefined : pid }),
43
+ activityId,
44
+ ...compact({
45
+ activityName: own?.activityName,
46
+ activityType: own?.activityType,
47
+ attachedTo: attachment(node, activityId),
48
+ since: trigger.since,
49
+ incidentId: trigger.incidentId,
50
+ }),
51
+ };
52
+ }
53
+ /** The open incident of a job or external task (its `configuration`), root causes first. */
54
+ function incidentOf(context, resourceId) {
55
+ const ids = context.data.incidents
56
+ .filter((incident) => str(incident, "configuration") === resourceId)
57
+ .map((incident) => ({
58
+ id: field(incident, "id"),
59
+ root: str(incident, "id") === str(incident, "rootCauseIncidentId"),
60
+ }))
61
+ .toSorted((left, right) => Number(right.root) - Number(left.root) || compareText(left.id, right.id));
62
+ return ids[0]?.id;
63
+ }
64
+ function userTask(context, task) {
65
+ const taskId = str(task, "id");
66
+ if (taskId === undefined)
67
+ return [];
68
+ const activityId = field(task, "taskDefinitionKey");
69
+ const node = context.index.forExecution(str(task, "executionId"), activityId);
70
+ const pid = str(task, "processInstanceId");
71
+ const since = str(task, "created");
72
+ const common = base(context, { processInstanceId: pid, activityId, node, since });
73
+ const name = str(task, "name");
74
+ return [
75
+ {
76
+ ...common,
77
+ kind: "userTask",
78
+ taskId,
79
+ ...compact({
80
+ // left out when it is the activity name
81
+ name: name === common.activityName ? undefined : name,
82
+ assignee: str(task, "assignee"),
83
+ due: str(task, "due"),
84
+ }),
85
+ },
86
+ ];
87
+ }
88
+ function externalTask(context, task) {
89
+ const externalTaskId = str(task, "id");
90
+ if (externalTaskId === undefined)
91
+ return [];
92
+ const activityId = field(task, "activityId");
93
+ const node = context.index.byId(str(task, "activityInstanceId")) ??
94
+ context.index.forExecution(str(task, "executionId"), activityId);
95
+ const trigger = {
96
+ processInstanceId: str(task, "processInstanceId"),
97
+ activityId,
98
+ node,
99
+ since: str(task, "createTime"),
100
+ incidentId: incidentOf(context, externalTaskId),
101
+ };
102
+ return [
103
+ {
104
+ ...base(context, trigger),
105
+ kind: "externalTask",
106
+ externalTaskId,
107
+ topic: field(task, "topicName"),
108
+ ...compact({
109
+ workerId: str(task, "workerId"),
110
+ lockExpirationTime: str(task, "lockExpirationTime"),
111
+ retries: num(task, "retries"),
112
+ errorMessage: str(task, "errorMessage"),
113
+ }),
114
+ },
115
+ ];
116
+ }
117
+ /** The trigger of a job: its activity from the job definition, else the activity instance. */
118
+ function jobTrigger(context, entry, timer, jobId) {
119
+ const definition = context.data.jobDefinitions.find((candidate) => str(candidate, "id") === str(entry, "jobDefinitionId"));
120
+ const known = str(definition, "activityId") ?? str(entry, "failedActivityId");
121
+ const executionId = str(entry, "executionId");
122
+ // async continuations wait in a transition instance, timers in an activity instance
123
+ const lookups = [
124
+ () => context.index.transition(executionId, known),
125
+ () => context.index.forExecution(executionId, known),
126
+ ];
127
+ const node = (timer ? lookups.toReversed() : lookups).reduce((found, lookup) => found ?? lookup(), undefined);
128
+ return {
129
+ processInstanceId: str(entry, "processInstanceId"),
130
+ activityId: known ?? node?.activityId ?? "",
131
+ node,
132
+ since: str(entry, "createTime"),
133
+ incidentId: incidentOf(context, jobId),
134
+ };
135
+ }
136
+ function job(context, entry) {
137
+ const jobId = str(entry, "id");
138
+ if (jobId === undefined)
139
+ return [];
140
+ const timer = context.data.timerJobIds.has(jobId);
141
+ const common = base(context, jobTrigger(context, entry, timer, jobId));
142
+ const retries = amount(entry, "retries");
143
+ const dueDate = str(entry, "dueDate");
144
+ const suspended = yes(entry, "suspended") ? true : undefined;
145
+ if (timer) {
146
+ return [
147
+ {
148
+ ...common,
149
+ kind: "timer",
150
+ jobId,
151
+ dueDate: dueDate ?? "",
152
+ retries,
153
+ ...compact({ suspended }),
154
+ },
155
+ ];
156
+ }
157
+ // an incident carries the same message
158
+ const exceptionMessage = common.incidentId === undefined ? str(entry, "exceptionMessage") : undefined;
159
+ return [
160
+ {
161
+ ...common,
162
+ kind: "asyncContinuation",
163
+ jobId,
164
+ retries,
165
+ ...compact({ dueDate, exceptionMessage, suspended }),
166
+ },
167
+ ];
168
+ }
169
+ function subscription(context, entry) {
170
+ const eventSubscriptionId = str(entry, "id");
171
+ const kind = field(entry, "eventType");
172
+ // compensation subscriptions are no wait states
173
+ if (eventSubscriptionId === undefined || !EVENT_KINDS.has(kind))
174
+ return [];
175
+ const activityId = field(entry, "activityId");
176
+ const executionId = field(entry, "executionId");
177
+ const node = context.index.forExecution(executionId, activityId);
178
+ const trigger = {
179
+ processInstanceId: str(entry, "processInstanceId"),
180
+ activityId,
181
+ node,
182
+ since: str(entry, "createdDate"),
183
+ };
184
+ return [
185
+ {
186
+ ...base(context, trigger),
187
+ kind: kind,
188
+ eventSubscriptionId,
189
+ ...compact({ eventName: str(entry, "eventName") }),
190
+ executionId,
191
+ },
192
+ ];
193
+ }
194
+ /** Instances of the tree that have called instances below them. */
195
+ function callers(data) {
196
+ return new Set(data.tree.flatMap((node) => (node.parentId === undefined ? [] : [node.parentId])));
197
+ }
198
+ /** Leaf activity instances without a wait state, except call activities with called instances. */
199
+ function others(context) {
200
+ const calling = callers(context.data);
201
+ return context.index.nodes
202
+ .filter((node) => node.leaf && !node.root && !context.covered.has(node.id))
203
+ .filter((node) => !(node.activityType === "callActivity" && calling.has(node.processInstanceId)))
204
+ .map((node) => ({
205
+ ...base(context, {
206
+ processInstanceId: node.processInstanceId,
207
+ activityId: node.activityId,
208
+ node,
209
+ since: undefined,
210
+ }),
211
+ kind: "other",
212
+ executionId: node.executionIds[0] ?? "",
213
+ }));
214
+ }
215
+ const KIND_ORDER = [
216
+ "userTask",
217
+ "externalTask",
218
+ "message",
219
+ "signal",
220
+ "conditional",
221
+ "timer",
222
+ "asyncContinuation",
223
+ "other",
224
+ ];
225
+ /** By tree depth, instance id, activity id, kind and resource id. */
226
+ function sorted(data, waits) {
227
+ const depth = new Map(data.tree.map((node) => [node.id, node.depth]));
228
+ const key = (wait) => {
229
+ const pid = wait.processInstanceId ?? data.id;
230
+ return { depth: depth.get(pid) ?? 0, pid };
231
+ };
232
+ return waits.toSorted((left, right) => {
233
+ const a = key(left);
234
+ const b = key(right);
235
+ return (a.depth - b.depth ||
236
+ compareText(a.pid, b.pid) ||
237
+ compareText(left.activityId, right.activityId) ||
238
+ KIND_ORDER.indexOf(left.kind) - KIND_ORDER.indexOf(right.kind) ||
239
+ compareText(waitId(left), waitId(right)));
240
+ });
241
+ }
242
+ /** Every wait state of the instance tree, sorted. */
243
+ export function waitStates(data) {
244
+ const context = { data, index: indexActivities(data.activityTrees), covered: new Set() };
245
+ const waits = [
246
+ ...data.tasks.flatMap((task) => userTask(context, task)),
247
+ ...data.externalTasks.flatMap((task) => externalTask(context, task)),
248
+ ...data.jobs.flatMap((entry) => job(context, entry)),
249
+ ...data.subscriptions.flatMap((entry) => subscription(context, entry)),
250
+ ];
251
+ return sorted(data, [...waits, ...others(context)]);
252
+ }
253
+ //# sourceMappingURL=waits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waits.js","sourceRoot":"","sources":["../src/waits.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAyC,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAY,GAAG,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAkBlF,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;AAEtF,gGAAgG;AAChG,MAAM,UAAU,MAAM,CAAC,IAAe;IACpC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,KAAK,cAAc;YACjB,OAAO,IAAI,CAAC,cAAc,CAAA;QAC5B,KAAK,OAAO,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,IAAI,CAAC,KAAK,CAAA;QACnB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC,mBAAmB,CAAA;QACjC,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAS,UAAU,CAAC,IAA8B,EAAE,UAAkB;IACpE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IACvF,OAAO,IAAI,CAAC,UAAU,CAAA;AACxB,CAAC;AAED,sFAAsF;AACtF,SAAS,IAAI,CAAC,OAAgB,EAAE,OAAgB;IAC9C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IACpC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,EAAE,iBAAiB,CAAA;IAChE,MAAM,GAAG,GAAG,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,OAAO;QACL,GAAG,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5E,UAAU;QACV,GAAG,OAAO,CAAC;YACT,YAAY,EAAE,GAAG,EAAE,YAAY;YAC/B,YAAY,EAAE,GAAG,EAAE,YAAY;YAC/B,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;KACH,CAAA;AACH,CAAC;AAED,4FAA4F;AAC5F,SAAS,UAAU,CAAC,OAAgB,EAAE,UAAkB;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS;SAC/B,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,KAAK,UAAU,CAAC;SACnE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClB,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;QACzB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,QAAQ,EAAE,qBAAqB,CAAC;KACnE,CAAC,CAAC;SACF,QAAQ,CACP,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAC1F,CAAA;IACH,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACnB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAgB,EAAE,IAAS;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,CAAA;IAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACjF,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC9B,OAAO;QACL;YACE,GAAG,MAAM;YACT,IAAI,EAAE,UAAU;YAChB,MAAM;YACN,GAAG,OAAO,CAAC;gBACT,wCAAwC;gBACxC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;gBACrD,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;gBAC/B,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;aACtB,CAAC;SACH;KACF,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB,EAAE,IAAS;IAC/C,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACtC,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAC5C,MAAM,IAAI,GACR,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG;QACd,iBAAiB,EAAE,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACjD,UAAU;QACV,IAAI;QACJ,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;QAC9B,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC;KAChD,CAAA;IACD,OAAO;QACL;YACE,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;YACzB,IAAI,EAAE,cAAc;YACpB,cAAc;YACd,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC;YAC/B,GAAG,OAAO,CAAC;gBACT,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;gBAC/B,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC;gBACnD,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;gBAC7B,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC;aACxC,CAAC;SACH;KACF,CAAA;AACH,CAAC;AAED,8FAA8F;AAC9F,SAAS,UAAU,CAAC,OAAgB,EAAE,KAAU,EAAE,KAAc,EAAE,KAAa;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CACjD,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CACtE,CAAA;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;IAC7E,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC7C,oFAAoF;IACpF,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC;QAClD,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC;KACrD,CAAA;IACD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAC1D,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,IAAI,MAAM,EAAE,EACpC,SAAS,CACV,CAAA;IACD,OAAO;QACL,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC;QAClD,UAAU,EAAE,KAAK,IAAI,IAAI,EAAE,UAAU,IAAI,EAAE;QAC3C,IAAI;QACJ,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;KACvC,CAAA;AACH,CAAC;AAED,SAAS,GAAG,CAAC,OAAgB,EAAE,KAAU;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAC,SAAS,CAAA;IACvE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL;gBACE,GAAG,MAAM;gBACT,IAAI,EAAE,OAAO;gBACb,KAAK;gBACL,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtB,OAAO;gBACP,GAAG,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;aAC1B;SACF,CAAA;IACH,CAAC;IACD,uCAAuC;IACvC,MAAM,gBAAgB,GACpB,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,OAAO;QACL;YACE,GAAG,MAAM;YACT,IAAI,EAAE,mBAAmB;YACzB,KAAK;YACL,OAAO;YACP,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC;SACrD;KACF,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB,EAAE,KAAU;IAChD,MAAM,mBAAmB,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACtC,gDAAgD;IAChD,IAAI,mBAAmB,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG;QACd,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC;QAClD,UAAU;QACV,IAAI;QACJ,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;KACjC,CAAA;IACD,OAAO;QACL;YACE,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;YACzB,IAAI,EAAE,IAA4C;YAClD,mBAAmB;YACnB,GAAG,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;YAClD,WAAW;SACZ;KACF,CAAA;AACH,CAAC;AAED,mEAAmE;AACnE,SAAS,OAAO,CAAC,IAAkB;IACjC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACnG,CAAC;AAED,kGAAkG;AAClG,SAAS,MAAM,CAAC,OAAgB;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK;SACvB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1E,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CACzF;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,GAAG,IAAI,CAAC,OAAO,EAAE;YACf,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI;YACJ,KAAK,EAAE,SAAS;SACjB,CAAC;QACF,IAAI,EAAE,OAAgB;QACtB,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE;KACxC,CAAC,CAAC,CAAA;AACP,CAAC;AAED,MAAM,UAAU,GAAwB;IACtC,UAAU;IACV,cAAc;IACd,SAAS;IACT,QAAQ;IACR,aAAa;IACb,OAAO;IACP,mBAAmB;IACnB,OAAO;CACR,CAAA;AAED,qEAAqE;AACrE,SAAS,MAAM,CAAC,IAAkB,EAAE,KAA2B;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACrE,MAAM,GAAG,GAAG,CAAC,IAAe,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,CAAA;QAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAC5C,CAAC,CAAA;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QACnB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,CACL,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;YACjB,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;YAC9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9D,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CACzC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,UAAU,CAAC,IAAkB;IAC3C,MAAM,OAAO,GAAY,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;IACjG,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxD,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpD,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KACvE,CAAA;IACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,57 @@
1
1
  {
2
2
  "name": "@miragon/pulse-engine-core",
3
- "version": "0.0.0-bootstrap.0",
4
- "description": "Placeholder that binds the package to GitHub trusted publishing. Releases start with 0.25.0.",
3
+ "version": "0.25.0",
4
+ "description": "The workflow domain of the Camunda 7 REST API family (Operaton, CIB seven, Camunda 7): the engine port, instance selection, the inspect view, the status triage, root causes and the plans of retry and advance, and the pure engine REST rules (dates, filters, sorting, variable writes, incident recovery). No runtime dependency.",
5
5
  "license": "MIT",
6
+ "keywords": [
7
+ "camunda",
8
+ "camunda7",
9
+ "operaton",
10
+ "cibseven",
11
+ "bpmn",
12
+ "workflow"
13
+ ],
14
+ "homepage": "https://github.com/Miragon/pulse/tree/main/packages/connectors/engine/engine-core#readme",
15
+ "bugs": "https://github.com/Miragon/pulse/issues",
16
+ "engines": {
17
+ "node": ">=22.22.2"
18
+ },
6
19
  "repository": {
7
20
  "type": "git",
8
21
  "url": "git+https://github.com/Miragon/pulse.git",
9
22
  "directory": "packages/connectors/engine/engine-core"
10
23
  },
11
24
  "publishConfig": {
12
- "access": "public",
13
- "tag": "bootstrap"
25
+ "access": "public"
26
+ },
27
+ "type": "module",
28
+ "sideEffects": false,
29
+ "files": [
30
+ "dist",
31
+ "!dist/**/*.test.*"
32
+ ],
33
+ "main": "dist/index.js",
34
+ "types": "dist/index.d.ts",
35
+ "exports": {
36
+ ".": {
37
+ "types": "./dist/index.d.ts",
38
+ "import": "./dist/index.js"
39
+ },
40
+ "./testing": {
41
+ "types": "./dist/testing/index.d.ts",
42
+ "import": "./dist/testing/index.js"
43
+ }
44
+ },
45
+ "devDependencies": {
46
+ "fast-check": "4.10.2",
47
+ "typescript": "6.0.3",
48
+ "vitest": "5.0.5"
49
+ },
50
+ "scripts": {
51
+ "build": "tsc",
52
+ "test": "vitest run",
53
+ "typecheck": "tsc --noEmit",
54
+ "lint": "eslint src",
55
+ "lint:fix": "eslint src --fix"
14
56
  }
15
- }
57
+ }