@t4h.framework/core 0.2.0 → 0.3.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/dist/activities/StartWorkflowActivity.d.ts +23 -8
- package/dist/activities/StartWorkflowActivity.d.ts.map +1 -1
- package/dist/activities/StartWorkflowActivity.js +22 -7
- package/dist/activities/StartWorkflowActivity.js.map +1 -1
- package/dist/models/WorkflowRef.d.ts +3 -2
- package/dist/models/WorkflowRef.d.ts.map +1 -1
- package/dist/models/WorkflowRef.js +5 -3
- package/dist/models/WorkflowRef.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,21 +1,36 @@
|
|
|
1
|
+
import Type from 'typebox';
|
|
2
|
+
import { AsyncActivity } from '../models/AsyncActivity.js';
|
|
1
3
|
import { Claim } from '../models/Claim.js';
|
|
2
|
-
import { SyncActivity } from '../models/SyncActivity.js';
|
|
3
4
|
import type { Workflow, WorkflowInput } from '../models/Workflow.js';
|
|
4
5
|
import { WorkflowRef } from '../models/WorkflowRef.js';
|
|
5
6
|
import type { Serializable } from '../typings/Serializable.js';
|
|
7
|
+
declare const schema: Type.TObject<{
|
|
8
|
+
status: Type.TEnum<["fulfilled", "rejected"]>;
|
|
9
|
+
output: Type.TAny;
|
|
10
|
+
}>;
|
|
6
11
|
export declare abstract class WorkflowClaim {
|
|
7
12
|
abstract start<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow, input: WorkflowInput<TWorkflow>): Serializable | Promise<Serializable>;
|
|
8
13
|
}
|
|
9
|
-
export
|
|
10
|
-
|
|
14
|
+
export type StartWorkflowActivityInput<TWorkflow extends Workflow<any, any>> = WorkflowInput<TWorkflow> & {
|
|
15
|
+
parallel?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare class StartWorkflowActivity extends AsyncActivity<[
|
|
18
|
+
workflow: Workflow<any, any>,
|
|
11
19
|
input: any
|
|
12
|
-
], Serializable, Serializable, WorkflowRef> {
|
|
20
|
+
], Serializable, Serializable, WorkflowRef, StartWorkflowActivityInput<Workflow<any, any>>, typeof schema> {
|
|
13
21
|
readonly claims: Claim<{
|
|
14
22
|
workflow: typeof WorkflowClaim;
|
|
15
23
|
}>;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
24
|
+
bootstrap(input: StartWorkflowActivityInput<Workflow<any, any>>): Promise<import("../core.js").AsyncActivityResultPending<{
|
|
25
|
+
parallel?: boolean;
|
|
26
|
+
}, Type.TObject<{
|
|
27
|
+
status: Type.TEnum<["fulfilled", "rejected"]>;
|
|
28
|
+
output: Type.TAny;
|
|
29
|
+
}>> | import("../core.js").AsyncActivityResultFulfilled<Serializable>>;
|
|
30
|
+
advance(payload: Type.Static<typeof schema>): import("../core.js").AsyncActivityResultRejected<void | Serializable> | import("../core.js").AsyncActivityResultFulfilled<Serializable>;
|
|
31
|
+
toInput(workflow: Workflow<any, any>, input: StartWorkflowActivityInput<Workflow<any, any>>): Promise<StartWorkflowActivityInput<Workflow<any, any>>>;
|
|
32
|
+
toOutput(payload: Type.Static<typeof schema>): WorkflowRef;
|
|
19
33
|
}
|
|
20
|
-
export declare function startWorkflow<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow, input:
|
|
34
|
+
export declare function startWorkflow<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow, input: StartWorkflowActivityInput<TWorkflow>): Promise<import("../core.js").AsyncActivityAwaitable<StartWorkflowActivity>>;
|
|
35
|
+
export {};
|
|
21
36
|
//# sourceMappingURL=StartWorkflowActivity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartWorkflowActivity.d.ts","sourceRoot":"","sources":["../../src/activities/StartWorkflowActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"StartWorkflowActivity.d.ts","sourceRoot":"","sources":["../../src/activities/StartWorkflowActivity.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,QAAA,MAAM,MAAM;;;EAGV,CAAA;AAEF,8BAAsB,aAAa;aACjB,KAAK,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EACxD,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAC9B,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CACxC;AAED,MAAM,MAAM,0BAA0B,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IACzE,aAAa,CAAC,SAAS,CAAC,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAEH,qBAAa,qBAAsB,SAAQ,aAAa,CACtD;IAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAAE,KAAK,EAAE,GAAG;CAAC,EAC1C,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,0BAA0B,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC9C,OAAO,MAAM,CACd;IACC,SAAgB,MAAM;;OAEpB;IAEW,SAAS,CACpB,KAAK,EAAE,0BAA0B,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;mBAhB1C,OAAO;;;;;IAyBb,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC;IAMrC,OAAO,CAClB,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5B,KAAK,EAAE,0BAA0B,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GACpD,OAAO,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAMnD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,GAAG,WAAW;CAGlE;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAChE,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,0BAA0B,CAAC,SAAS,CAAC,+EAG7C"}
|
|
@@ -1,21 +1,36 @@
|
|
|
1
|
+
import Type from 'typebox';
|
|
2
|
+
import { AsyncActivity } from '../models/AsyncActivity.js';
|
|
1
3
|
import { Claim } from '../models/Claim.js';
|
|
2
4
|
import { History } from '../models/History.js';
|
|
3
|
-
import { SyncActivity } from '../models/SyncActivity.js';
|
|
4
5
|
import { WorkflowRef } from '../models/WorkflowRef.js';
|
|
6
|
+
const schema = Type.Object({
|
|
7
|
+
status: Type.Enum(['fulfilled', 'rejected']),
|
|
8
|
+
output: Type.Any(),
|
|
9
|
+
});
|
|
5
10
|
export class WorkflowClaim {
|
|
6
11
|
}
|
|
7
|
-
export class StartWorkflowActivity extends
|
|
12
|
+
export class StartWorkflowActivity extends AsyncActivity {
|
|
8
13
|
claims = new Claim({
|
|
9
14
|
workflow: WorkflowClaim,
|
|
10
15
|
});
|
|
11
|
-
async
|
|
12
|
-
|
|
16
|
+
async bootstrap(input) {
|
|
17
|
+
if (input.parallel)
|
|
18
|
+
return this.done({ status: 'fulfilled', output: null });
|
|
19
|
+
return this.pending({
|
|
20
|
+
schema,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
advance(payload) {
|
|
24
|
+
if (payload.status === 'fulfilled')
|
|
25
|
+
return this.done(payload);
|
|
26
|
+
return this.rejected(payload);
|
|
13
27
|
}
|
|
14
|
-
|
|
15
|
-
|
|
28
|
+
async toInput(workflow, input) {
|
|
29
|
+
await this.claims.workflow.start(workflow, input);
|
|
30
|
+
return input;
|
|
16
31
|
}
|
|
17
32
|
toOutput(payload) {
|
|
18
|
-
return new WorkflowRef(payload);
|
|
33
|
+
return new WorkflowRef(payload.status, payload.output);
|
|
19
34
|
}
|
|
20
35
|
}
|
|
21
36
|
export function startWorkflow(workflow, input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartWorkflowActivity.js","sourceRoot":"","sources":["../../src/activities/StartWorkflowActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"StartWorkflowActivity.js","sourceRoot":"","sources":["../../src/activities/StartWorkflowActivity.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC5C,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE;CACnB,CAAC,CAAA;AAEF,MAAM,OAAgB,aAAa;CAKlC;AAOD,MAAM,OAAO,qBAAsB,SAAQ,aAO1C;IACiB,MAAM,GAAG,IAAI,KAAK,CAAC;QACjC,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAA;IAEK,KAAK,CAAC,SAAS,CACpB,KAAqD;QAErD,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAE3E,OAAO,IAAI,CAAC,OAAO,CAAC;YAClB,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;IAEM,OAAO,CAAC,OAAmC;QAChD,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE7D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,QAA4B,EAC5B,KAAqD;QAErD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAEjD,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,QAAQ,CAAC,OAAmC;QACjD,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAC3B,QAAmB,EACnB,KAA4C;IAE5C,OAAO,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;AACnE,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Serializable } from '../typings/Serializable.js';
|
|
2
2
|
export declare class WorkflowRef {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
readonly status: 'fulfilled' | 'rejected';
|
|
4
|
+
readonly output: Serializable;
|
|
5
|
+
constructor(status: 'fulfilled' | 'rejected', output: Serializable);
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=WorkflowRef.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowRef.d.ts","sourceRoot":"","sources":["../../src/models/WorkflowRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"WorkflowRef.d.ts","sourceRoot":"","sources":["../../src/models/WorkflowRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,qBAAa,WAAW;aAEJ,MAAM,EAAE,WAAW,GAAG,UAAU;aAChC,MAAM,EAAE,YAAY;gBADpB,MAAM,EAAE,WAAW,GAAG,UAAU,EAChC,MAAM,EAAE,YAAY;CAEvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowRef.js","sourceRoot":"","sources":["../../src/models/WorkflowRef.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"WorkflowRef.js","sourceRoot":"","sources":["../../src/models/WorkflowRef.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IAEJ;IACA;IAFlB,YACkB,MAAgC,EAChC,MAAoB;QADpB,WAAM,GAAN,MAAM,CAA0B;QAChC,WAAM,GAAN,MAAM,CAAc;IACnC,CAAC;CACL"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@t4h.framework/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Core module for the T4H Framework",
|
|
5
5
|
"homepage": "https://github.com/tech4humans-brasil/framework/tree/main/packages/core",
|
|
6
6
|
"bugs": "https://github.com/tech4humans-brasil/framework/issues",
|