@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.
- package/LICENSE +21 -0
- package/dist/activities.d.ts +31 -0
- package/dist/activities.d.ts.map +1 -0
- package/dist/activities.js +62 -0
- package/dist/activities.js.map +1 -0
- package/dist/advance-plan.d.ts +21 -0
- package/dist/advance-plan.d.ts.map +1 -0
- package/dist/advance-plan.js +192 -0
- package/dist/advance-plan.js.map +1 -0
- package/dist/conditions.d.ts +66 -0
- package/dist/conditions.d.ts.map +1 -0
- package/dist/conditions.js +119 -0
- package/dist/conditions.js.map +1 -0
- package/dist/dates.d.ts +59 -0
- package/dist/dates.d.ts.map +1 -0
- package/dist/dates.js +189 -0
- package/dist/dates.js.map +1 -0
- package/dist/durations.d.ts +4 -0
- package/dist/durations.d.ts.map +1 -0
- package/dist/durations.js +10 -0
- package/dist/durations.js.map +1 -0
- package/dist/engine-status.d.ts +57 -0
- package/dist/engine-status.d.ts.map +1 -0
- package/dist/engine-status.js +193 -0
- package/dist/engine-status.js.map +1 -0
- package/dist/errors.d.ts +101 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +18 -0
- package/dist/errors.js.map +1 -0
- package/dist/filters.d.ts +53 -0
- package/dist/filters.d.ts.map +1 -0
- package/dist/filters.js +74 -0
- package/dist/filters.js.map +1 -0
- package/dist/findings.d.ts +46 -0
- package/dist/findings.d.ts.map +1 -0
- package/dist/findings.js +105 -0
- package/dist/findings.js.map +1 -0
- package/dist/incident-recovery.d.ts +35 -0
- package/dist/incident-recovery.d.ts.map +1 -0
- package/dist/incident-recovery.js +24 -0
- package/dist/incident-recovery.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/inspect.d.ts +34 -0
- package/dist/inspect.d.ts.map +1 -0
- package/dist/inspect.js +247 -0
- package/dist/inspect.js.map +1 -0
- package/dist/next.d.ts +26 -0
- package/dist/next.d.ts.map +1 -0
- package/dist/next.js +83 -0
- package/dist/next.js.map +1 -0
- package/dist/operations.d.ts +9 -0
- package/dist/operations.d.ts.map +1 -0
- package/dist/operations.js +41 -0
- package/dist/operations.js.map +1 -0
- package/dist/poll.d.ts +24 -0
- package/dist/poll.d.ts.map +1 -0
- package/dist/poll.js +29 -0
- package/dist/poll.js.map +1 -0
- package/dist/port.d.ts +95 -0
- package/dist/port.d.ts.map +1 -0
- package/dist/port.js +113 -0
- package/dist/port.js.map +1 -0
- package/dist/records.d.ts +27 -0
- package/dist/records.d.ts.map +1 -0
- package/dist/records.js +58 -0
- package/dist/records.js.map +1 -0
- package/dist/requests.d.ts +24 -0
- package/dist/requests.d.ts.map +1 -0
- package/dist/requests.js +35 -0
- package/dist/requests.js.map +1 -0
- package/dist/retry-plan.d.ts +62 -0
- package/dist/retry-plan.d.ts.map +1 -0
- package/dist/retry-plan.js +140 -0
- package/dist/retry-plan.js.map +1 -0
- package/dist/root-cause.d.ts +17 -0
- package/dist/root-cause.d.ts.map +1 -0
- package/dist/root-cause.js +35 -0
- package/dist/root-cause.js.map +1 -0
- package/dist/select.d.ts +16 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +133 -0
- package/dist/select.js.map +1 -0
- package/dist/snapshot.d.ts +12 -0
- package/dist/snapshot.d.ts.map +1 -0
- package/dist/snapshot.js +134 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/sorting.d.ts +20 -0
- package/dist/sorting.d.ts.map +1 -0
- package/dist/sorting.js +17 -0
- package/dist/sorting.js.map +1 -0
- package/dist/status.d.ts +91 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +222 -0
- package/dist/status.js.map +1 -0
- package/dist/testing/fake-port.d.ts +31 -0
- package/dist/testing/fake-port.d.ts.map +1 -0
- package/dist/testing/fake-port.js +50 -0
- package/dist/testing/fake-port.js.map +1 -0
- package/dist/testing/fixture.d.ts +39 -0
- package/dist/testing/fixture.d.ts.map +1 -0
- package/dist/testing/fixture.js +288 -0
- package/dist/testing/fixture.js.map +1 -0
- package/dist/testing/index.d.ts +23 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +23 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/inspect-routes.d.ts +12 -0
- package/dist/testing/inspect-routes.d.ts.map +1 -0
- package/dist/testing/inspect-routes.js +63 -0
- package/dist/testing/inspect-routes.js.map +1 -0
- package/dist/testing/status.d.ts +18 -0
- package/dist/testing/status.d.ts.map +1 -0
- package/dist/testing/status.js +12 -0
- package/dist/testing/status.js.map +1 -0
- package/dist/testing/waits.d.ts +60 -0
- package/dist/testing/waits.d.ts.map +1 -0
- package/dist/testing/waits.js +53 -0
- package/dist/testing/waits.js.map +1 -0
- package/dist/timeline.d.ts +9 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +63 -0
- package/dist/timeline.js.map +1 -0
- package/dist/tree.d.ts +19 -0
- package/dist/tree.d.ts.map +1 -0
- package/dist/tree.js +61 -0
- package/dist/tree.js.map +1 -0
- package/dist/types.d.ts +254 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +26 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +44 -0
- package/dist/util.js.map +1 -0
- package/dist/variable-writes.d.ts +32 -0
- package/dist/variable-writes.d.ts.map +1 -0
- package/dist/variable-writes.js +113 -0
- package/dist/variable-writes.js.map +1 -0
- package/dist/variables.d.ts +28 -0
- package/dist/variables.d.ts.map +1 -0
- package/dist/variables.js +64 -0
- package/dist/variables.js.map +1 -0
- package/dist/waits.d.ts +11 -0
- package/dist/waits.d.ts.map +1 -0
- package/dist/waits.js +253 -0
- package/dist/waits.js.map +1 -0
- package/package.json +47 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/testing/fixture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test helpers of @miragon/pulse-engine-core: the verified workflow fixture, the status fixture,
|
|
3
|
+
* wait states of every kind, a recording fake port and a fake clock; and the seams tests reach
|
|
4
|
+
* below the entry's API: the pure rules behind inspect and status, the paging and missing-resource
|
|
5
|
+
* rules of the port, and the operations each composite sends (a port adapter's test holds its
|
|
6
|
+
* table equal to them).
|
|
7
|
+
*/
|
|
8
|
+
export * from "./fixture.js";
|
|
9
|
+
export { NOW, statistics } from "./status.js";
|
|
10
|
+
export * from "./waits.js";
|
|
11
|
+
export { APPROVE_INCIDENT, approveRoutes, STACKTRACE } from "./inspect-routes.js";
|
|
12
|
+
export { type FakeCall, FakeFailure, fakeClock, fakeFailure, type FakePort, fakePort, type Route, } from "./fake-port.js";
|
|
13
|
+
export { isMissing, pageQuery } from "../port.js";
|
|
14
|
+
export { countByIds, ID_CHUNK } from "../requests.js";
|
|
15
|
+
export { INSPECT_OPERATIONS, STATUS_OPERATIONS } from "../operations.js";
|
|
16
|
+
export { mergeCandidates } from "../select.js";
|
|
17
|
+
export { incidentCause } from "../inspect.js";
|
|
18
|
+
export { instanceView } from "../snapshot.js";
|
|
19
|
+
export { historicVariableMap, plainVariables } from "../variables.js";
|
|
20
|
+
export { nextSteps } from "../next.js";
|
|
21
|
+
export { definitionStatus, type GroupedIncidents, groupIncidents, jobStatus, messagePattern, topicStatus, unknownKeys, } from "../status.js";
|
|
22
|
+
export { engineStatus, type FindingInput, findings } from "../findings.js";
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,EACL,KAAK,QAAQ,EACb,WAAW,EACX,SAAS,EACT,WAAW,EACX,KAAK,QAAQ,EACb,QAAQ,EACR,KAAK,KAAK,GACX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,cAAc,EACd,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test helpers of @miragon/pulse-engine-core: the verified workflow fixture, the status fixture,
|
|
3
|
+
* wait states of every kind, a recording fake port and a fake clock; and the seams tests reach
|
|
4
|
+
* below the entry's API: the pure rules behind inspect and status, the paging and missing-resource
|
|
5
|
+
* rules of the port, and the operations each composite sends (a port adapter's test holds its
|
|
6
|
+
* table equal to them).
|
|
7
|
+
*/
|
|
8
|
+
export * from "./fixture.js";
|
|
9
|
+
export { NOW, statistics } from "./status.js";
|
|
10
|
+
export * from "./waits.js";
|
|
11
|
+
export { APPROVE_INCIDENT, approveRoutes, STACKTRACE } from "./inspect-routes.js";
|
|
12
|
+
export { FakeFailure, fakeClock, fakeFailure, fakePort, } from "./fake-port.js";
|
|
13
|
+
export { isMissing, pageQuery } from "../port.js";
|
|
14
|
+
export { countByIds, ID_CHUNK } from "../requests.js";
|
|
15
|
+
export { INSPECT_OPERATIONS, STATUS_OPERATIONS } from "../operations.js";
|
|
16
|
+
export { mergeCandidates } from "../select.js";
|
|
17
|
+
export { incidentCause } from "../inspect.js";
|
|
18
|
+
export { instanceView } from "../snapshot.js";
|
|
19
|
+
export { historicVariableMap, plainVariables } from "../variables.js";
|
|
20
|
+
export { nextSteps } from "../next.js";
|
|
21
|
+
export { definitionStatus, groupIncidents, jobStatus, messagePattern, topicStatus, unknownKeys, } from "../status.js";
|
|
22
|
+
export { engineStatus, findings } from "../findings.js";
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAEL,WAAW,EACX,SAAS,EACT,WAAW,EAEX,QAAQ,GAET,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EACL,gBAAgB,EAEhB,cAAc,EACd,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,YAAY,EAAqB,QAAQ,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The routes of a fake port at the verified fixture's `approve` stage: the parent waits at its
|
|
3
|
+
* call activity, the child at the user task `approve` with a failed job incident.
|
|
4
|
+
*/
|
|
5
|
+
import type { Rec } from "../records.js";
|
|
6
|
+
import type { Route } from "./fake-port.js";
|
|
7
|
+
export declare const STACKTRACE = "org.x.ProcessEngineException: outer\nCaused by: org.x.PropertyNotFoundException: missingBean\n";
|
|
8
|
+
/** The open root incident of the child, a failed job. */
|
|
9
|
+
export declare const APPROVE_INCIDENT: Rec;
|
|
10
|
+
/** Every read inspect sends for the approve stage, by operation id. */
|
|
11
|
+
export declare function approveRoutes(): Record<string, Route>;
|
|
12
|
+
//# sourceMappingURL=inspect-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect-routes.d.ts","sourceRoot":"","sources":["../../src/testing/inspect-routes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAc3C,eAAO,MAAM,UAAU,mGAC2E,CAAA;AAElG,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,EAAE,GAS9B,CAAA;AAkBD,uEAAuE;AACvE,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAgCrD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The routes of a fake port at the verified fixture's `approve` stage: the parent waits at its
|
|
3
|
+
* call activity, the child at the user task `approve` with a failed job incident.
|
|
4
|
+
*/
|
|
5
|
+
import { activity, activityTree, C, CHILD_DEF, DEFINITIONS, historyDto, JOB_DEFINITIONS, P, PARENT_DEF, runtimeDto, } from "./fixture.js";
|
|
6
|
+
export const STACKTRACE = "org.x.ProcessEngineException: outer\nCaused by: org.x.PropertyNotFoundException: missingBean\n";
|
|
7
|
+
/** The open root incident of the child, a failed job. */
|
|
8
|
+
export const APPROVE_INCIDENT = {
|
|
9
|
+
id: "i1",
|
|
10
|
+
rootCauseIncidentId: "i1",
|
|
11
|
+
incidentType: "failedJob",
|
|
12
|
+
configuration: "j1",
|
|
13
|
+
activityId: "approve",
|
|
14
|
+
processInstanceId: C,
|
|
15
|
+
incidentMessage: "outer",
|
|
16
|
+
incidentTimestamp: "2026-01-01T00:00:00.000+0000",
|
|
17
|
+
};
|
|
18
|
+
const CHILD = {
|
|
19
|
+
id: C,
|
|
20
|
+
definitionId: CHILD_DEF,
|
|
21
|
+
definitionKey: "workflow-child",
|
|
22
|
+
suspended: false,
|
|
23
|
+
};
|
|
24
|
+
const TREES = {
|
|
25
|
+
[P]: activityTree(P, PARENT_DEF, [
|
|
26
|
+
activity("call:ai", "call-approval", "callActivity", ["ex-call"]),
|
|
27
|
+
]),
|
|
28
|
+
[C]: activityTree(C, CHILD_DEF, [
|
|
29
|
+
activity("approve:ai", "approve", "userTask", [C, "name=Approve"]),
|
|
30
|
+
]),
|
|
31
|
+
};
|
|
32
|
+
/** Every read inspect sends for the approve stage, by operation id. */
|
|
33
|
+
export function approveRoutes() {
|
|
34
|
+
return {
|
|
35
|
+
getProcessInstance: (input) => (input.pathArgs[0] === P ? runtimeDto : undefined),
|
|
36
|
+
getHistoricProcessInstance: (input) => (input.pathArgs[0] === P ? historyDto : undefined),
|
|
37
|
+
getProcessInstances: (input) => (input.query.superProcessInstance === P ? [CHILD] : []),
|
|
38
|
+
getActivityInstanceTree: (input) => TREES[input.pathArgs[0] ?? ""],
|
|
39
|
+
getIncidents: (input) => (input.query.processInstanceId === C ? [APPROVE_INCIDENT] : []),
|
|
40
|
+
getEventSubscriptions: () => [],
|
|
41
|
+
getTasks: () => [
|
|
42
|
+
{ id: "t1", taskDefinitionKey: "approve", executionId: C, processInstanceId: C },
|
|
43
|
+
],
|
|
44
|
+
getExternalTasks: () => [],
|
|
45
|
+
getJobs: () => [],
|
|
46
|
+
getProcessDefinitions: () => DEFINITIONS,
|
|
47
|
+
getJobDefinitions: (input) => JOB_DEFINITIONS.filter((definition) => definition.processDefinitionId === input.query.processDefinitionId),
|
|
48
|
+
getProcessInstanceVariables: () => ({ amount: { type: "Integer", value: 250 } }),
|
|
49
|
+
getStacktrace: () => STACKTRACE,
|
|
50
|
+
getExternalTaskErrorDetails: () => undefined,
|
|
51
|
+
getHistoricVariableInstances: () => [],
|
|
52
|
+
getHistoricActivityInstances: () => [
|
|
53
|
+
{
|
|
54
|
+
activityId: "start",
|
|
55
|
+
activityType: "startEvent",
|
|
56
|
+
startTime: "2026-01-01T00:00:00.000+0000",
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
getHistoricIncidents: () => [],
|
|
60
|
+
getHistoricProcessInstances: () => [],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=inspect-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect-routes.js","sourceRoot":"","sources":["../../src/testing/inspect-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Statistics rows and a fixed clock for the status tests. */
|
|
2
|
+
export declare const NOW: number;
|
|
3
|
+
export declare function statistics(key: string, version: number, [instances, failedJobs, incidents]: readonly [number, number, number]): {
|
|
4
|
+
id: string;
|
|
5
|
+
instances: number;
|
|
6
|
+
failedJobs: number;
|
|
7
|
+
incidents: {
|
|
8
|
+
incidentType: string;
|
|
9
|
+
incidentCount: number;
|
|
10
|
+
}[];
|
|
11
|
+
definition: {
|
|
12
|
+
id: string;
|
|
13
|
+
key: string;
|
|
14
|
+
version: number;
|
|
15
|
+
name: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/testing/status.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,eAAO,MAAM,GAAG,QAAyC,CAAA;AAEzD,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;EAStE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Statistics rows and a fixed clock for the status tests. */
|
|
2
|
+
export const NOW = Date.parse("2026-01-01T12:00:00.000Z");
|
|
3
|
+
export function statistics(key, version, [instances, failedJobs, incidents]) {
|
|
4
|
+
return {
|
|
5
|
+
id: `${key}:${version}:x`,
|
|
6
|
+
instances,
|
|
7
|
+
failedJobs,
|
|
8
|
+
incidents: incidents === 0 ? [] : [{ incidentType: "failedJob", incidentCount: incidents }],
|
|
9
|
+
definition: { id: `${key}:${version}:x`, key, version, name: `${key} v${version}` },
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/testing/status.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAEzD,MAAM,UAAU,UAAU,CACxB,GAAW,EACX,OAAe,EACf,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAoC;IAErE,OAAO;QACL,EAAE,EAAE,GAAG,GAAG,IAAI,OAAO,IAAI;QACzB,SAAS;QACT,UAAU;QACV,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QAC3F,UAAU,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,OAAO,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,KAAK,OAAO,EAAE,EAAE;KACpF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/** Wait states of every kind and a variable input, for the advance plan tests. */
|
|
2
|
+
export declare const USER_TASK: {
|
|
3
|
+
activityId: string;
|
|
4
|
+
kind: "userTask";
|
|
5
|
+
taskId: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const EXTERNAL: {
|
|
8
|
+
activityId: string;
|
|
9
|
+
kind: "externalTask";
|
|
10
|
+
externalTaskId: string;
|
|
11
|
+
topic: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const TIMER: {
|
|
14
|
+
activityId: string;
|
|
15
|
+
kind: "timer";
|
|
16
|
+
jobId: string;
|
|
17
|
+
dueDate: string;
|
|
18
|
+
retries: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const ASYNC: {
|
|
21
|
+
activityId: string;
|
|
22
|
+
kind: "asyncContinuation";
|
|
23
|
+
jobId: string;
|
|
24
|
+
retries: number;
|
|
25
|
+
};
|
|
26
|
+
export declare const MESSAGE: {
|
|
27
|
+
activityId: string;
|
|
28
|
+
kind: "message";
|
|
29
|
+
eventSubscriptionId: string;
|
|
30
|
+
eventName: string;
|
|
31
|
+
executionId: string;
|
|
32
|
+
};
|
|
33
|
+
export declare const SIGNAL: {
|
|
34
|
+
activityId: string;
|
|
35
|
+
kind: "signal";
|
|
36
|
+
eventSubscriptionId: string;
|
|
37
|
+
eventName: string;
|
|
38
|
+
executionId: string;
|
|
39
|
+
};
|
|
40
|
+
export declare const RECEIVE: {
|
|
41
|
+
activityId: string;
|
|
42
|
+
activityType: string;
|
|
43
|
+
kind: "other";
|
|
44
|
+
executionId: string;
|
|
45
|
+
};
|
|
46
|
+
export declare const CONDITIONAL: {
|
|
47
|
+
activityId: string;
|
|
48
|
+
kind: "conditional";
|
|
49
|
+
eventSubscriptionId: string;
|
|
50
|
+
executionId: string;
|
|
51
|
+
};
|
|
52
|
+
export declare const VARS: {
|
|
53
|
+
variables: {
|
|
54
|
+
approved: {
|
|
55
|
+
value: boolean;
|
|
56
|
+
type: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=waits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waits.d.ts","sourceRoot":"","sources":["../../src/testing/waits.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAIlF,eAAO,MAAM,SAAS;;;;CAID,CAAA;AACrB,eAAO,MAAM,QAAQ;;;;;CAKA,CAAA;AACrB,eAAO,MAAM,KAAK;;;;;;CAMG,CAAA;AACrB,eAAO,MAAM,KAAK;;;;;CAKG,CAAA;AACrB,eAAO,MAAM,OAAO;;;;;;CAMC,CAAA;AACrB,eAAO,MAAM,MAAM;;;;;;CAME,CAAA;AACrB,eAAO,MAAM,OAAO;;;;;CAKC,CAAA;AACrB,eAAO,MAAM,WAAW;;;;;CAKH,CAAA;AAErB,eAAO,MAAM,IAAI;;;;;;;CAAgE,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** Wait states of every kind and a variable input, for the advance plan tests. */
|
|
2
|
+
export const USER_TASK = {
|
|
3
|
+
activityId: "approve",
|
|
4
|
+
kind: "userTask",
|
|
5
|
+
taskId: "t1",
|
|
6
|
+
};
|
|
7
|
+
export const EXTERNAL = {
|
|
8
|
+
activityId: "charge",
|
|
9
|
+
kind: "externalTask",
|
|
10
|
+
externalTaskId: "e1",
|
|
11
|
+
topic: "pay",
|
|
12
|
+
};
|
|
13
|
+
export const TIMER = {
|
|
14
|
+
activityId: "cool-down",
|
|
15
|
+
kind: "timer",
|
|
16
|
+
jobId: "j1",
|
|
17
|
+
dueDate: "d",
|
|
18
|
+
retries: 3,
|
|
19
|
+
};
|
|
20
|
+
export const ASYNC = {
|
|
21
|
+
activityId: "book",
|
|
22
|
+
kind: "asyncContinuation",
|
|
23
|
+
jobId: "j2",
|
|
24
|
+
retries: 3,
|
|
25
|
+
};
|
|
26
|
+
export const MESSAGE = {
|
|
27
|
+
activityId: "paid",
|
|
28
|
+
kind: "message",
|
|
29
|
+
eventSubscriptionId: "s1",
|
|
30
|
+
eventName: "Paid",
|
|
31
|
+
executionId: "x1",
|
|
32
|
+
};
|
|
33
|
+
export const SIGNAL = {
|
|
34
|
+
activityId: "go",
|
|
35
|
+
kind: "signal",
|
|
36
|
+
eventSubscriptionId: "s2",
|
|
37
|
+
eventName: "Go",
|
|
38
|
+
executionId: "x2",
|
|
39
|
+
};
|
|
40
|
+
export const RECEIVE = {
|
|
41
|
+
activityId: "wait",
|
|
42
|
+
activityType: "receiveTask",
|
|
43
|
+
kind: "other",
|
|
44
|
+
executionId: "x3",
|
|
45
|
+
};
|
|
46
|
+
export const CONDITIONAL = {
|
|
47
|
+
activityId: "cond",
|
|
48
|
+
kind: "conditional",
|
|
49
|
+
eventSubscriptionId: "s3",
|
|
50
|
+
executionId: "x4",
|
|
51
|
+
};
|
|
52
|
+
export const VARS = { variables: { approved: { value: true, type: "Boolean" } } };
|
|
53
|
+
//# sourceMappingURL=waits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waits.js","sourceRoot":"","sources":["../../src/testing/waits.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAIlF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE,SAAS;IACrB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,IAAI;CACO,CAAA;AACrB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,cAAc;IACpB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,KAAK;CACO,CAAA;AACrB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU,EAAE,WAAW;IACvB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,CAAC;CACS,CAAA;AACrB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,CAAC;CACS,CAAA;AACrB,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,SAAS;IACf,mBAAmB,EAAE,IAAI;IACzB,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,IAAI;CACE,CAAA;AACrB,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,QAAQ;IACd,mBAAmB,EAAE,IAAI;IACzB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;CACE,CAAA;AACrB,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,aAAa;IAC3B,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,IAAI;CACE,CAAA;AACrB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,aAAa;IACnB,mBAAmB,EAAE,IAAI;IACzB,WAAW,EAAE,IAAI;CACE,CAAA;AAErB,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The history timeline of an instance: its historic activity instances in the
|
|
3
|
+
* order of the history (BPMN order), each with the historic incidents of its activity. Pure.
|
|
4
|
+
*/
|
|
5
|
+
import { type Rec } from "./records.js";
|
|
6
|
+
import type { TimelineEntry } from "./types.js";
|
|
7
|
+
/** Timeline entries in the given (history) order with their incidents attached. */
|
|
8
|
+
export declare function timelineOf(activities: readonly Rec[], incidents: readonly Rec[]): TimelineEntry[];
|
|
9
|
+
//# sourceMappingURL=timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAwC,KAAK,GAAG,EAAY,MAAM,cAAc,CAAA;AACvF,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAA;AA8CjE,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,UAAU,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,GAAG,aAAa,EAAE,CAiBjG"}
|
package/dist/timeline.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The history timeline of an instance: its historic activity instances in the
|
|
3
|
+
* order of the history (BPMN order), each with the historic incidents of its activity. Pure.
|
|
4
|
+
*/
|
|
5
|
+
import { compact } from "./util.js";
|
|
6
|
+
import { engineTime } from "./dates.js";
|
|
7
|
+
import { compareText, compareTime, field, num, str, yes } from "./records.js";
|
|
8
|
+
function entryOf(activity) {
|
|
9
|
+
return {
|
|
10
|
+
activityId: field(activity, "activityId"),
|
|
11
|
+
...compact({ activityName: str(activity, "activityName") }),
|
|
12
|
+
activityType: field(activity, "activityType"),
|
|
13
|
+
startTime: field(activity, "startTime"),
|
|
14
|
+
...compact({
|
|
15
|
+
endTime: str(activity, "endTime"),
|
|
16
|
+
durationMs: num(activity, "durationInMillis"),
|
|
17
|
+
canceled: yes(activity, "canceled") ? true : undefined,
|
|
18
|
+
assignee: str(activity, "assignee"),
|
|
19
|
+
calledProcessInstanceId: str(activity, "calledProcessInstanceId"),
|
|
20
|
+
}),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function incidentOf(incident) {
|
|
24
|
+
let state = "resolved";
|
|
25
|
+
if (yes(incident, "open"))
|
|
26
|
+
state = "open";
|
|
27
|
+
else if (yes(incident, "deleted"))
|
|
28
|
+
state = "deleted";
|
|
29
|
+
return {
|
|
30
|
+
type: field(incident, "incidentType"),
|
|
31
|
+
...compact({ message: str(incident, "incidentMessage") }),
|
|
32
|
+
state,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The entry an incident belongs to: the last entry of its activity that started before it, else
|
|
37
|
+
* the first one of its activity (an async continuation starts its activity only after the job
|
|
38
|
+
* succeeded); incidents of activities without an entry are left out.
|
|
39
|
+
*/
|
|
40
|
+
function entryIndex(entries, incident) {
|
|
41
|
+
const activityId = str(incident, "activityId");
|
|
42
|
+
const created = engineTime(str(incident, "createTime")) ?? Number.POSITIVE_INFINITY;
|
|
43
|
+
const candidates = entries.flatMap((entry, index) => entry.activityId === activityId ? [index] : []);
|
|
44
|
+
const before = candidates.filter((index) => (engineTime(entries[index]?.startTime) ?? 0) <= created);
|
|
45
|
+
return before.at(-1) ?? candidates[0];
|
|
46
|
+
}
|
|
47
|
+
/** Timeline entries in the given (history) order with their incidents attached. */
|
|
48
|
+
export function timelineOf(activities, incidents) {
|
|
49
|
+
const entries = activities.map(entryOf);
|
|
50
|
+
const attached = new Map();
|
|
51
|
+
const ordered = incidents.toSorted((left, right) => compareTime(str(left, "createTime"), str(right, "createTime")) ||
|
|
52
|
+
compareText(field(left, "id"), field(right, "id")));
|
|
53
|
+
for (const incident of ordered) {
|
|
54
|
+
const index = entryIndex(entries, incident);
|
|
55
|
+
if (index !== undefined)
|
|
56
|
+
attached.set(index, [...(attached.get(index) ?? []), incidentOf(incident)]);
|
|
57
|
+
}
|
|
58
|
+
return entries.map((entry, index) => {
|
|
59
|
+
const own = attached.get(index);
|
|
60
|
+
return own === undefined ? entry : { ...entry, incidents: own };
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"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"}
|
package/dist/tree.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The active instance tree below a process instance: breadth first over
|
|
3
|
+
* `GET /process-instance?superProcessInstance=<id>`, one round per level. Works without history
|
|
4
|
+
* and on every engine (`rootProcessInstanceId` would include siblings and carries no parent edge).
|
|
5
|
+
*/
|
|
6
|
+
import { type EnginePort } from "./port.js";
|
|
7
|
+
import { type Rec } from "./records.js";
|
|
8
|
+
import type { TreeNode } from "./types.js";
|
|
9
|
+
export interface InstanceTree {
|
|
10
|
+
/** The selected instance first, then level by level. */
|
|
11
|
+
readonly nodes: readonly TreeNode[];
|
|
12
|
+
/** True when the tree was cut at depth 10 or 100 instances. */
|
|
13
|
+
readonly truncated: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** A tree node of a ProcessInstanceDto, undefined without an id. */
|
|
16
|
+
export declare function treeNode(dto: Rec, parentId: string | undefined, depth: number): TreeNode | undefined;
|
|
17
|
+
/** The active tree of `root` (a ProcessInstanceDto): at most depth 10 and 100 instances. */
|
|
18
|
+
export declare function activeTree(port: EnginePort, root: Rec): Promise<InstanceTree>;
|
|
19
|
+
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAY,MAAM,WAAW,CAAA;AAErD,OAAO,EAA0B,KAAK,GAAG,EAAY,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAA;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAKD,oEAAoE;AACpE,wBAAgB,QAAQ,CACtB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM,GACZ,QAAQ,GAAG,SAAS,CAetB;AAuBD,4FAA4F;AAC5F,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAkBnF"}
|
package/dist/tree.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The active instance tree below a process instance: breadth first over
|
|
3
|
+
* `GET /process-instance?superProcessInstance=<id>`, one round per level. Works without history
|
|
4
|
+
* and on every engine (`rootProcessInstanceId` would include siblings and carries no parent edge).
|
|
5
|
+
*/
|
|
6
|
+
import { PARALLEL } from "./port.js";
|
|
7
|
+
import { compact, mapLimit } from "./util.js";
|
|
8
|
+
import { definitionKeyOf, field, str, yes } from "./records.js";
|
|
9
|
+
const MAX_DEPTH = 10;
|
|
10
|
+
const MAX_INSTANCES = 100;
|
|
11
|
+
/** A tree node of a ProcessInstanceDto, undefined without an id. */
|
|
12
|
+
export function treeNode(dto, parentId, depth) {
|
|
13
|
+
const id = str(dto, "id");
|
|
14
|
+
if (id === undefined)
|
|
15
|
+
return undefined;
|
|
16
|
+
const definitionId = field(dto, "definitionId");
|
|
17
|
+
return {
|
|
18
|
+
id,
|
|
19
|
+
...compact({ parentId }),
|
|
20
|
+
definitionId,
|
|
21
|
+
...compact({
|
|
22
|
+
definitionKey: str(dto, "definitionKey") ?? definitionKeyOf(definitionId),
|
|
23
|
+
businessKey: str(dto, "businessKey"),
|
|
24
|
+
}),
|
|
25
|
+
suspended: yes(dto, "suspended"),
|
|
26
|
+
depth,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
async function nextLevel(port, level, depth) {
|
|
30
|
+
const pages = await mapLimit(level, PARALLEL, async (node) => {
|
|
31
|
+
const page = await port.list("getProcessInstances", { superProcessInstance: node.id }, MAX_INSTANCES);
|
|
32
|
+
const children = page.items.flatMap((dto) => treeNode(dto, node.id, depth) ?? []);
|
|
33
|
+
return { children, truncated: page.truncated };
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
children: pages.flatMap((page) => page.children),
|
|
37
|
+
truncated: pages.some((page) => page.truncated),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/** The active tree of `root` (a ProcessInstanceDto): at most depth 10 and 100 instances. */
|
|
41
|
+
export async function activeTree(port, root) {
|
|
42
|
+
const first = treeNode(root, undefined, 0);
|
|
43
|
+
if (first === undefined)
|
|
44
|
+
return { nodes: [], truncated: false };
|
|
45
|
+
const nodes = [first];
|
|
46
|
+
let level = [first];
|
|
47
|
+
let truncated = false;
|
|
48
|
+
for (let depth = 1; level.length > 0; depth++) {
|
|
49
|
+
const next = await nextLevel(port, level, depth);
|
|
50
|
+
truncated ||= next.truncated;
|
|
51
|
+
const room = MAX_INSTANCES - nodes.length;
|
|
52
|
+
if (next.children.length > 0 && (depth > MAX_DEPTH || next.children.length > room)) {
|
|
53
|
+
nodes.push(...next.children.slice(0, depth > MAX_DEPTH ? 0 : room));
|
|
54
|
+
return { nodes, truncated: true };
|
|
55
|
+
}
|
|
56
|
+
nodes.push(...next.children);
|
|
57
|
+
level = next.children;
|
|
58
|
+
}
|
|
59
|
+
return { nodes, truncated };
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=tree.js.map
|
package/dist/tree.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"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"}
|