@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.
@@ -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 declare class StartWorkflowActivity extends SyncActivity<[
10
- workflow: Workflow,
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
- toInput(workflow: Workflow<any, any>, input: any): Promise<Serializable>;
17
- run(payload: Serializable): Serializable;
18
- toOutput(payload: Serializable): WorkflowRef;
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: WorkflowInput<TWorkflow>): Promise<WorkflowRef>;
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,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,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,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,qBAAa,qBAAsB,SAAQ,YAAY,CACrD;IAAC,QAAQ,EAAE,QAAQ;IAAE,KAAK,EAAE,GAAG;CAAC,EAChC,YAAY,EACZ,YAAY,EACZ,WAAW,CACZ;IACC,SAAgB,MAAM;;OAEpB;IAEW,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG;IAItD,GAAG,CAAC,OAAO,EAAE,YAAY;IAIzB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;CAGpD;AAED,wBAAgB,aAAa,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAChE,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,wBAGhC"}
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 SyncActivity {
12
+ export class StartWorkflowActivity extends AsyncActivity {
8
13
  claims = new Claim({
9
14
  workflow: WorkflowClaim,
10
15
  });
11
- async toInput(workflow, input) {
12
- return await this.claims.workflow.start(workflow, input);
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
- run(payload) {
15
- return payload;
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;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,MAAM,OAAgB,aAAa;CAKlC;AAED,MAAM,OAAO,qBAAsB,SAAQ,YAK1C;IACiB,MAAM,GAAG,IAAI,KAAK,CAAC;QACjC,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAA;IAEK,KAAK,CAAC,OAAO,CAAC,QAA4B,EAAE,KAAU;QAC3D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC1D,CAAC;IAEM,GAAG,CAAC,OAAqB;QAC9B,OAAO,OAAO,CAAA;IAChB,CAAC;IAEM,QAAQ,CAAC,OAAqB;QACnC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAC3B,QAAmB,EACnB,KAA+B;IAE/B,OAAO,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;AACnE,CAAC"}
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
- protected readonly payload: Serializable;
4
- constructor(payload: Serializable);
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;IACV,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY;gBAArB,OAAO,EAAE,YAAY;CACrD"}
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,7 +1,9 @@
1
1
  export class WorkflowRef {
2
- payload;
3
- constructor(payload) {
4
- this.payload = payload;
2
+ status;
3
+ output;
4
+ constructor(status, output) {
5
+ this.status = status;
6
+ this.output = output;
5
7
  }
6
8
  }
7
9
  //# sourceMappingURL=WorkflowRef.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowRef.js","sourceRoot":"","sources":["../../src/models/WorkflowRef.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IACS;IAA/B,YAA+B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;CACzD"}
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.2.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",