@t4h.framework/core 0.9.0 → 0.9.1

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 (65) hide show
  1. package/.ai/skills/framework-core/SKILL.md +3 -4
  2. package/CHANGELOG.md +99 -0
  3. package/LICENSE +21 -0
  4. package/README.md +5 -8
  5. package/dist/activities/StartWorkflowActivity.d.ts +5 -6
  6. package/dist/activities/StartWorkflowActivity.d.ts.map +1 -1
  7. package/dist/activities/StartWorkflowActivity.js +12 -11
  8. package/dist/activities/StartWorkflowActivity.js.map +1 -1
  9. package/package.json +1 -1
  10. package/dist/models/ContinueAsNew.d.ts +0 -24
  11. package/dist/models/ContinueAsNew.d.ts.map +0 -1
  12. package/dist/models/ContinueAsNew.js +0 -28
  13. package/dist/models/ContinueAsNew.js.map +0 -1
  14. package/dist/models/ExecutionContext.d.ts +0 -8
  15. package/dist/models/ExecutionContext.d.ts.map +0 -1
  16. package/dist/models/ExecutionContext.js +0 -22
  17. package/dist/models/ExecutionContext.js.map +0 -1
  18. package/dist/testing/ActivityTesting.d.ts +0 -25
  19. package/dist/testing/ActivityTesting.d.ts.map +0 -1
  20. package/dist/testing/ActivityTesting.js +0 -74
  21. package/dist/testing/ActivityTesting.js.map +0 -1
  22. package/dist/testing/NonDeterministicWorkflowError.d.ts +0 -4
  23. package/dist/testing/NonDeterministicWorkflowError.d.ts.map +0 -1
  24. package/dist/testing/NonDeterministicWorkflowError.js +0 -7
  25. package/dist/testing/NonDeterministicWorkflowError.js.map +0 -1
  26. package/dist/testing/StrictGuard.d.ts +0 -4
  27. package/dist/testing/StrictGuard.d.ts.map +0 -1
  28. package/dist/testing/StrictGuard.js +0 -26
  29. package/dist/testing/StrictGuard.js.map +0 -1
  30. package/dist/testing/WorkflowTesting.d.ts +0 -6
  31. package/dist/testing/WorkflowTesting.d.ts.map +0 -1
  32. package/dist/testing/WorkflowTesting.js +0 -7
  33. package/dist/testing/WorkflowTesting.js.map +0 -1
  34. package/dist/testing/create-mock-claim.d.ts +0 -11
  35. package/dist/testing/create-mock-claim.d.ts.map +0 -1
  36. package/dist/testing/create-mock-claim.js +0 -26
  37. package/dist/testing/create-mock-claim.js.map +0 -1
  38. package/dist/testing/create-mock-claims.d.ts +0 -13
  39. package/dist/testing/create-mock-claims.d.ts.map +0 -1
  40. package/dist/testing/create-mock-claims.js +0 -8
  41. package/dist/testing/create-mock-claims.js.map +0 -1
  42. package/dist/testing/create-test-env.d.ts +0 -10
  43. package/dist/testing/create-test-env.d.ts.map +0 -1
  44. package/dist/testing/create-test-env.js +0 -7
  45. package/dist/testing/create-test-env.js.map +0 -1
  46. package/dist/testing/mock-async.d.ts +0 -48
  47. package/dist/testing/mock-async.d.ts.map +0 -1
  48. package/dist/testing/mock-async.js +0 -58
  49. package/dist/testing/mock-async.js.map +0 -1
  50. package/dist/testing/outcomes.d.ts +0 -12
  51. package/dist/testing/outcomes.d.ts.map +0 -1
  52. package/dist/testing/outcomes.js +0 -10
  53. package/dist/testing/outcomes.js.map +0 -1
  54. package/dist/testing/run-workflow.d.ts +0 -32
  55. package/dist/testing/run-workflow.d.ts.map +0 -1
  56. package/dist/testing/run-workflow.js +0 -160
  57. package/dist/testing/run-workflow.js.map +0 -1
  58. package/dist/testing/tools/serializable-clone.d.ts +0 -21
  59. package/dist/testing/tools/serializable-clone.d.ts.map +0 -1
  60. package/dist/testing/tools/serializable-clone.js +0 -77
  61. package/dist/testing/tools/serializable-clone.js.map +0 -1
  62. package/dist/testing/types.d.ts +0 -19
  63. package/dist/testing/types.d.ts.map +0 -1
  64. package/dist/testing/types.js +0 -2
  65. package/dist/testing/types.js.map +0 -1
@@ -51,12 +51,12 @@ import { Workflow } from '@t4h.framework/core'
51
51
  const bare = new Workflow(async () => ({ ok: true }))
52
52
 
53
53
  const withMeta = new Workflow(
54
- { id: 'cashback/v1', description: 'Process cashback' },
54
+ { id: 'cashback', description: 'Process cashback' },
55
55
  async input => ({ value: input.amount * 0.05 }),
56
56
  )
57
57
 
58
58
  const schema = Type.Object({ userId: Type.String(), amount: Type.Number() })
59
- const validated = new Workflow({ id: 'cashback/v1', schema }, async input => ({
59
+ const validated = new Workflow({ id: 'cashback', schema }, async input => ({
60
60
  value: input.amount * 0.05,
61
61
  }))
62
62
  ```
@@ -92,9 +92,8 @@ import { App, Workflow } from '@t4h.framework/core'
92
92
  const app = new App({
93
93
  id: 'my-automation',
94
94
  description: 'Cashback automation',
95
- workflows: [myWorkflow],
95
+ workflows: [myWorkflow, anotherWorkflow], // throws on duplicate workflow.id
96
96
  })
97
- app.addWorkflow(anotherWorkflow) // throws on duplicate workflow.id
98
97
  ```
99
98
 
100
99
  `toManifest()` includes the registered workflows plus any `EnvDesign` entries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,99 @@
1
+ # @t4h.framework/core
2
+
3
+ ## 0.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#135](https://github.com/tech4humans-brasil/framework/pull/135) [`c238dbe`](https://github.com/tech4humans-brasil/framework/commit/c238dbea4199169c935c714442d9e316abd74e20) Thanks [@gusteycamargo](https://github.com/gusteycamargo)! - Fix start workflow activity
8
+
9
+ ## 0.9.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Adds support to undefined or null output in workflow ref ([#106](https://github.com/tech4humans-brasil/framework/pull/106))
14
+ - Adds startMany on WorkflowClaim ([#108](https://github.com/tech4humans-brasil/framework/pull/108))
15
+
16
+ ### Patch Changes
17
+
18
+ - Support optional input when schema is not provided in workflow ([#104](https://github.com/tech4humans-brasil/framework/pull/104))
19
+ - Forward parallel flag through startWorkflow to the reconciler ([#105](https://github.com/tech4humans-brasil/framework/pull/105))
20
+ - Structured clone in testing suite ([#107](https://github.com/tech4humans-brasil/framework/pull/107))
21
+
22
+ ## 0.8.0
23
+
24
+ ### Patch Changes
25
+
26
+ - Testing utils ([`7856707`](https://github.com/tech4humans-brasil/framework/commit/78567072109b876391d9a74146ea16ef4acbddea))
27
+ - Update ai skills ([`1029361`](https://github.com/tech4humans-brasil/framework/commit/1029361788725eedaabe23e2131007d82da93380))
28
+ - Update skills ([`6d7e7bc`](https://github.com/tech4humans-brasil/framework/commit/6d7e7bca0c780a9c53a0c9e5aa0a865c5af67959))
29
+
30
+ ## 0.7.0
31
+
32
+ ### Minor Changes
33
+
34
+ - Add stable uuidv7 identifiers to activities and history items ([`e3451c8`](https://github.com/tech4humans-brasil/framework/commit/e3451c8ea3572457a8a6568e7fbe0291cc8e9a1f))
35
+
36
+ ## 0.6.1
37
+
38
+ ### Patch Changes
39
+
40
+ - Use history is replaying to supress logs during replay ([`9635e9f`](https://github.com/tech4humans-brasil/framework/commit/9635e9f79d51ec67b119cf1812c06d852f50a344))
41
+ - Propagate timeout at on push wait async activity ([`c5b3f17`](https://github.com/tech4humans-brasil/framework/commit/c5b3f17f778c5b6cc9eb7d4f4c06d69fe4a19c4e))
42
+
43
+ ## 0.6.0
44
+
45
+ ### Patch Changes
46
+
47
+ - Internal dependency updates
48
+
49
+ ## 0.5.0
50
+
51
+ ### Patch Changes
52
+
53
+ - Internal dependency updates
54
+
55
+ ## 0.3.0
56
+
57
+ ### Minor Changes
58
+
59
+ - Adds support to return promise in activity input and output ([`42af924`](https://github.com/tech4humans-brasil/framework/commit/42af92450888949badad4717897c6384e3480ad7))
60
+ - Build app manifest in core package ([`58c8a63`](https://github.com/tech4humans-brasil/framework/commit/58c8a63fd0475c09d67f3283bb18719b89497f13))
61
+ - Adds support to serializable class ([`ed0ddbb`](https://github.com/tech4humans-brasil/framework/commit/ed0ddbb7c07e2d1d8810e3079c9aa6dd10f4479f))
62
+ - Adds start workflow activity ([`e82952c`](https://github.com/tech4humans-brasil/framework/commit/e82952c963759ccc716237bae2f350b823d1eba0))
63
+ - Adds claim exceptions ([`0c1b6fa`](https://github.com/tech4humans-brasil/framework/commit/0c1b6fac5ecdea8a08f5922911bdd24a1223d657))
64
+ - Adds env design ([`37b89bb`](https://github.com/tech4humans-brasil/framework/commit/37b89bb477a85aa8b7a5b55653d5e67020348f63))
65
+ - Adds env in app manifest ([`9647c10`](https://github.com/tech4humans-brasil/framework/commit/9647c1043d1fd6f0d580130b537d39bde9a5981c))
66
+ - Adds async support for serialization ([#10](https://github.com/tech4humans-brasil/framework/pull/10))
67
+ - Introduce async activity advance and bootstrap ([#19](https://github.com/tech4humans-brasil/framework/pull/19))
68
+ - Adds identifier requireds claims ([#20](https://github.com/tech4humans-brasil/framework/pull/20))
69
+ - Adds support for awaitable async activity ([#32](https://github.com/tech4humans-brasil/framework/pull/32))
70
+ - Adds type to history item ([#47](https://github.com/tech4humans-brasil/framework/pull/47))
71
+ - Adds support to authorization ([#51](https://github.com/tech4humans-brasil/framework/pull/51))
72
+ - Adds on timeout in async activity ([#48](https://github.com/tech4humans-brasil/framework/pull/48))
73
+ - Implements start workflow activity ([#64](https://github.com/tech4humans-brasil/framework/pull/64))
74
+ - Implements logger ([#82](https://github.com/tech4humans-brasil/framework/pull/82))
75
+ - Adds testing utilities ([#84](https://github.com/tech4humans-brasil/framework/pull/84))
76
+ - Adds .ai/skills in packages ([#88](https://github.com/tech4humans-brasil/framework/pull/88))
77
+ - Adds skills to create and test workflow ([#90](https://github.com/tech4humans-brasil/framework/pull/90))
78
+
79
+ ### Patch Changes
80
+
81
+ - Adds vitest ([`1fd42f1`](https://github.com/tech4humans-brasil/framework/commit/1fd42f19ebf103ee474503251ec3ebce60d6f1cf))
82
+ - Core package ([`63d23a5`](https://github.com/tech4humans-brasil/framework/commit/63d23a531da5ebe241751c2e52bb1115a89a3737))
83
+ - Remove activity claim context dependency ([`c7c1ac1`](https://github.com/tech4humans-brasil/framework/commit/c7c1ac1fbe4d3eb0d87a7909408c75ebd26b139f))
84
+ - Fix manifest test with env schema ([`a876b6a`](https://github.com/tech4humans-brasil/framework/commit/a876b6a379db1837b511a08353f73f1d1b8dfc3c))
85
+ - Dont user Object.entries for Map instance ([`da47e8c`](https://github.com/tech4humans-brasil/framework/commit/da47e8cecd5b5b90e9620ed982471dff394e6338))
86
+ - Rename activity claim to claim ([`281d700`](https://github.com/tech4humans-brasil/framework/commit/281d7008bd5539ab0b701e755f053d031b332aa8))
87
+ - Rename activity history to history ([`4eaad08`](https://github.com/tech4humans-brasil/framework/commit/4eaad08468815bcdea14c36468c7904655715406))
88
+ - Move run activity and workflow to internal tool ([`e061349`](https://github.com/tech4humans-brasil/framework/commit/e061349de925074f838e82149f7566ddcffc4870))
89
+ - Fix all tests ([`0270832`](https://github.com/tech4humans-brasil/framework/commit/02708320bd39ffef87f6b46c2e57a1ccccb4ceb0))
90
+ - Adds github workflow to run, build, tests and lint ([#18](https://github.com/tech4humans-brasil/framework/pull/18))
91
+ - Adds readme ([`e346f39`](https://github.com/tech4humans-brasil/framework/commit/e346f398ad2a7bdd319b7176e251d3538e72cb2d))
92
+ - Use correct activity output generic argument ([`fbd6e11`](https://github.com/tech4humans-brasil/framework/commit/fbd6e115b72a25125eb0a6f263006a3163fb0f51))
93
+ - Update package metadata and author information across multiple packages ([`2ca73df`](https://github.com/tech4humans-brasil/framework/commit/2ca73df42dc63c86ed44717b50d5402fca45b4e7))
94
+ - Improve repository info ([`1fad92d`](https://github.com/tech4humans-brasil/framework/commit/1fad92d959b804189fd1486d047115995ac81eb0))
95
+ - Check types ([`a975a38`](https://github.com/tech4humans-brasil/framework/commit/a975a38a09b81c35205e55170efbed12b54f683a))
96
+ - Up repo coverage ([`24c057c`](https://github.com/tech4humans-brasil/framework/commit/24c057c470d0829ea9a1e1f71011b6eff408180c))
97
+ - Fix check types and lint errors ([`00ca0df`](https://github.com/tech4humans-brasil/framework/commit/00ca0dfe6c2fddbc4e0dbeefb1556d172c752c55))
98
+ - Update package dependencies across multiple packages ([`8b4fc1d`](https://github.com/tech4humans-brasil/framework/commit/8b4fc1d0e92d6bd880ddf4c8119fb68c49c53760))
99
+ - Rename output async activity pending to payload ([#46](https://github.com/tech4humans-brasil/framework/pull/46))
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Tech for humans
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -38,7 +38,7 @@ const myWorkflow = new Workflow(async () => {
38
38
 
39
39
  ```javascript
40
40
  const myWorkflow = new Workflow(
41
- { id: 'cashback/v1', description: 'Process cashback' },
41
+ { id: 'cashback', description: 'Process cashback' },
42
42
  async input => {
43
43
  return { value: input.amount * 0.05 }
44
44
  },
@@ -52,7 +52,7 @@ The `schema` field accepts any valid JSON Schema.
52
52
  ```javascript
53
53
  const myWorkflow = new Workflow(
54
54
  {
55
- id: 'cashback/v1',
55
+ id: 'cashback',
56
56
  schema: {
57
57
  type: 'object',
58
58
  properties: {
@@ -79,7 +79,7 @@ const schema = Type.Object({
79
79
  amount: Type.Number(),
80
80
  })
81
81
 
82
- const myWorkflow = new Workflow({ id: 'cashback/v1', schema }, async input => {
82
+ const myWorkflow = new Workflow({ id: 'cashback', schema }, async input => {
83
83
  return { value: input.amount * 0.05 }
84
84
  })
85
85
  ```
@@ -89,7 +89,7 @@ const myWorkflow = new Workflow({ id: 'cashback/v1', schema }, async input => {
89
89
  ```javascript
90
90
  import { Workflow, env } from '@t4h.framework/core'
91
91
 
92
- const myWorkflow = new Workflow({ id: 'notify/v1' }, async () => {
92
+ const myWorkflow = new Workflow({ id: 'notify' }, async () => {
93
93
  console.log(env.API_URL)
94
94
  console.log(env.API_SECRET)
95
95
  })
@@ -103,11 +103,8 @@ import { App, Workflow } from '@t4h.framework/core'
103
103
  const app = new App({
104
104
  id: 'my-automation',
105
105
  description: 'Cashback automation',
106
- workflows: [myWorkflow],
106
+ workflows: [myWorkflow, anotherWorkflow],
107
107
  })
108
-
109
- // or add later
110
- app.addWorkflow(anotherWorkflow)
111
108
  ```
112
109
 
113
110
  ---
@@ -16,11 +16,11 @@ export declare const workflowBatchSchema: Type.TObject<{
16
16
  }>;
17
17
  type StartManyWorkflowsResult = Type.Static<typeof workflowBatchSchema>;
18
18
  export declare abstract class WorkflowClaim {
19
- abstract start<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow, parallel?: boolean): Serializable | Promise<Serializable>;
20
- abstract start<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow, input: WorkflowInput<TWorkflow>, parallel?: boolean): Serializable | Promise<Serializable>;
19
+ abstract start<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow | string, input?: WorkflowInput<TWorkflow>, parallel?: boolean): Serializable | Promise<Serializable>;
21
20
  abstract startMany<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow | string, inputs: WorkflowInput<TWorkflow>[] | Binary[], parallel?: boolean): Promise<WorkflowBatchRef>;
22
21
  }
23
22
  type StartWorkflowActivityInput = {
23
+ workflow: string;
24
24
  input?: Serializable;
25
25
  parallel?: boolean;
26
26
  };
@@ -38,15 +38,14 @@ export declare class StartWorkflowActivity extends AsyncActivity<[
38
38
  output: Type.TAny;
39
39
  }>> | import("../core.js").AsyncActivityResultFulfilled<Serializable>>;
40
40
  advance(payload: Type.Static<typeof schema>): import("../core.js").AsyncActivityResultRejected<void | Serializable> | import("../core.js").AsyncActivityResultFulfilled<Serializable>;
41
- toInput(workflow: Workflow<any, any>, inputOrParallel?: Serializable | boolean, maybeParallel?: boolean): Promise<StartWorkflowActivityInput>;
41
+ toInput(workflow: Workflow<any, any>, inputOrParallel?: Serializable | boolean, maybeParallel?: boolean): StartWorkflowActivityInput;
42
42
  toOutput(payload: Type.Static<typeof schema>): WorkflowRef;
43
43
  }
44
44
  export declare function startWorkflow<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow, ...args: StartWorkflowArgs<TWorkflow>): Promise<import("../core.js").AsyncActivityAwaitable<StartWorkflowActivity>>;
45
45
  type StartManyWorkflowsActivityInput = {
46
+ workflow: string;
46
47
  inputs: Serializable[];
47
48
  parallel?: boolean;
48
- batch: string;
49
- count: number;
50
49
  };
51
50
  type StartWorkflowManyArgs<TWorkflow extends Workflow<any, any>> = [
52
51
  inputs: WorkflowInput<TWorkflow>[],
@@ -71,7 +70,7 @@ export declare class StartManyWorkflowsActivity extends AsyncActivity<[
71
70
  batch: string;
72
71
  count: number;
73
72
  } | undefined>;
74
- toInput(workflow: Workflow<any, any>, inputs: Serializable[], parallel?: boolean): Promise<StartManyWorkflowsActivityInput>;
73
+ toInput(workflow: Workflow<any, any>, inputs: Serializable[], parallel?: boolean): StartManyWorkflowsActivityInput;
75
74
  toOutput(payload: StartManyWorkflowsResult): WorkflowBatchRef;
76
75
  }
77
76
  export declare function startWorkflowMany<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow, ...args: StartWorkflowManyArgs<TWorkflow>): Promise<import("../core.js").AsyncActivityAwaitable<StartManyWorkflowsActivity>>;
@@ -1 +1 @@
1
- {"version":3,"file":"StartWorkflowActivity.d.ts","sourceRoot":"","sources":["../../src/activities/StartWorkflowActivity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartWorkflowActivity.d.ts","sourceRoot":"","sources":["../../src/activities/StartWorkflowActivity.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export class StartWorkflowActivity extends AsyncActivity {
19
19
  workflow: WorkflowClaim,
20
20
  });
21
21
  async bootstrap(input) {
22
+ await this.claims.workflow.start(input.workflow, input.input, input.parallel);
22
23
  if (input.parallel)
23
24
  return this.done({ status: 'fulfilled', output: null });
24
25
  return this.pending({
@@ -30,7 +31,9 @@ export class StartWorkflowActivity extends AsyncActivity {
30
31
  return this.done(payload);
31
32
  return this.rejected(payload);
32
33
  }
33
- async toInput(workflow, inputOrParallel, maybeParallel) {
34
+ toInput(workflow, inputOrParallel, maybeParallel) {
35
+ if (!workflow.id)
36
+ throw new TypeError('Could not start workflow without an id');
34
37
  const hasSchema = workflow.schema !== null;
35
38
  const input = hasSchema
36
39
  ? inputOrParallel
@@ -38,11 +41,7 @@ export class StartWorkflowActivity extends AsyncActivity {
38
41
  const parallel = hasSchema
39
42
  ? maybeParallel
40
43
  : inputOrParallel;
41
- if (hasSchema)
42
- await this.claims.workflow.start(workflow, input, parallel);
43
- else
44
- await this.claims.workflow.start(workflow, parallel);
45
- return { input, parallel };
44
+ return { workflow: workflow.id, input, parallel };
46
45
  }
47
46
  toOutput(payload) {
48
47
  return new WorkflowRef(payload.status, payload.output);
@@ -56,8 +55,9 @@ export class StartManyWorkflowsActivity extends AsyncActivity {
56
55
  workflow: WorkflowClaim,
57
56
  });
58
57
  async bootstrap(input) {
59
- if (input.count <= 0 || input.parallel)
60
- return this.done({ batch: input.batch, count: input.count });
58
+ const batch = await this.claims.workflow.startMany(input.workflow, input.inputs, input.parallel);
59
+ if (batch.count <= 0 || input.parallel)
60
+ return this.done({ batch: batch.id, count: batch.count });
61
61
  return this.pending({
62
62
  schema: workflowBatchSchema,
63
63
  });
@@ -65,9 +65,10 @@ export class StartManyWorkflowsActivity extends AsyncActivity {
65
65
  advance(payload) {
66
66
  return this.done(payload);
67
67
  }
68
- async toInput(workflow, inputs, parallel) {
69
- const batch = await this.claims.workflow.startMany(workflow, inputs, parallel);
70
- return { inputs, parallel, batch: batch.id, count: batch.count };
68
+ toInput(workflow, inputs, parallel) {
69
+ if (!workflow.id)
70
+ throw new TypeError('Could not start workflow without an id');
71
+ return { workflow: workflow.id, inputs, parallel };
71
72
  }
72
73
  toOutput(payload) {
73
74
  return new WorkflowBatchRef(payload.batch, payload.count);
@@ -1 +1 @@
1
- {"version":3,"file":"StartWorkflowActivity.js","sourceRoot":"","sources":["../../src/activities/StartWorkflowActivity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartWorkflowActivity.js","sourceRoot":"","sources":["../../src/activities/StartWorkflowActivity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@t4h.framework/core",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
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",
@@ -1,24 +0,0 @@
1
- import type { Serializable } from '../typings/Serializable.js';
2
- import type { Workflow, WorkflowInput } from './Workflow.js';
3
- /**
4
- * Control-flow signal thrown by {@link continueAsNew}. Caught by the runtime
5
- * loop, which terminates the current workflow run and starts a fresh run of
6
- * `workflow` with `input` and an empty history. Not an `Error` subclass — it is
7
- * a normal control-flow signal, like `PushActivity`/`PushWaitAsyncActivity`.
8
- */
9
- export declare class ContinueAsNew {
10
- readonly workflow: Workflow<any, any>;
11
- readonly input: Serializable | undefined;
12
- constructor(workflow: Workflow<any, any>, input: Serializable | undefined);
13
- }
14
- export type ContinueAsNewArgs<TWorkflow extends Workflow<any, any>> = WorkflowInput<TWorkflow> extends undefined ? [] : [input: WorkflowInput<TWorkflow>];
15
- /**
16
- * Ends the current workflow run and restarts `workflow` with a fresh, empty
17
- * history, carrying `input` forward as the successor's input. Never returns —
18
- * it throws a {@link ContinueAsNew} signal that unwinds to the runtime loop.
19
- *
20
- * Use it to keep a run's history bounded when iterating over many items: process
21
- * a batch, then `continueAsNew` with a cursor pointing at the next batch.
22
- */
23
- export declare function continueAsNew<TWorkflow extends Workflow<any, any>>(workflow: TWorkflow, ...args: ContinueAsNewArgs<TWorkflow>): Promise<never>;
24
- //# sourceMappingURL=ContinueAsNew.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContinueAsNew.d.ts","sourceRoot":"","sources":["../../src/models/ContinueAsNew.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE5D;;;;;GAKG;AACH,qBAAa,aAAa;aAEN,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;aAC5B,KAAK,EAAE,YAAY,GAAG,SAAS;gBAD/B,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAC5B,KAAK,EAAE,YAAY,GAAG,SAAS;CAElD;AAED,MAAM,MAAM,iBAAiB,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAChE,aAAa,CAAC,SAAS,CAAC,SAAS,SAAS,GACtC,EAAE,GACF,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;AAEvC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAChE,QAAQ,EAAE,SAAS,EACnB,GAAG,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,GACpC,OAAO,CAAC,KAAK,CAAC,CAKhB"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Control-flow signal thrown by {@link continueAsNew}. Caught by the runtime
3
- * loop, which terminates the current workflow run and starts a fresh run of
4
- * `workflow` with `input` and an empty history. Not an `Error` subclass — it is
5
- * a normal control-flow signal, like `PushActivity`/`PushWaitAsyncActivity`.
6
- */
7
- export class ContinueAsNew {
8
- workflow;
9
- input;
10
- constructor(workflow, input) {
11
- this.workflow = workflow;
12
- this.input = input;
13
- }
14
- }
15
- /**
16
- * Ends the current workflow run and restarts `workflow` with a fresh, empty
17
- * history, carrying `input` forward as the successor's input. Never returns —
18
- * it throws a {@link ContinueAsNew} signal that unwinds to the runtime loop.
19
- *
20
- * Use it to keep a run's history bounded when iterating over many items: process
21
- * a batch, then `continueAsNew` with a cursor pointing at the next batch.
22
- */
23
- export function continueAsNew(workflow, ...args) {
24
- if (!workflow.id)
25
- throw new TypeError('Could not continue-as-new a workflow without an id');
26
- throw new ContinueAsNew(workflow, args[0]);
27
- }
28
- //# sourceMappingURL=ContinueAsNew.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContinueAsNew.js","sourceRoot":"","sources":["../../src/models/ContinueAsNew.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IAEN;IACA;IAFlB,YACkB,QAA4B,EAC5B,KAA+B;QAD/B,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,UAAK,GAAL,KAAK,CAA0B;IAC9C,CAAC;CACL;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAmB,EACnB,GAAG,IAAkC;IAErC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACd,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAA;IAE3E,MAAM,IAAI,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAA6B,CAAC,CAAA;AACxE,CAAC"}
@@ -1,8 +0,0 @@
1
- export type ExecutionLayer = 'workflow' | 'activity';
2
- export declare namespace ExecutionContext {
3
- function run<T>(layer: ExecutionLayer, fn: () => T): T;
4
- function getLayer(): ExecutionLayer | undefined;
5
- function isWorkflow(): boolean;
6
- function isActivity(): boolean;
7
- }
8
- //# sourceMappingURL=ExecutionContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionContext.d.ts","sourceRoot":"","sources":["../../src/models/ExecutionContext.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,CAAA;AAQpD,yBAAiB,gBAAgB,CAAC;IAChC,SAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE5D;IAED,SAAgB,QAAQ,IAAI,cAAc,GAAG,SAAS,CAErD;IAED,SAAgB,UAAU,IAAI,OAAO,CAEpC;IAED,SAAgB,UAAU,IAAI,OAAO,CAEpC;CACF"}
@@ -1,22 +0,0 @@
1
- import { AsyncLocalStorage } from 'node:async_hooks';
2
- const storage = new AsyncLocalStorage();
3
- export var ExecutionContext;
4
- (function (ExecutionContext) {
5
- function run(layer, fn) {
6
- return storage.run({ layer }, fn);
7
- }
8
- ExecutionContext.run = run;
9
- function getLayer() {
10
- return storage.getStore()?.layer;
11
- }
12
- ExecutionContext.getLayer = getLayer;
13
- function isWorkflow() {
14
- return storage.getStore()?.layer === 'workflow';
15
- }
16
- ExecutionContext.isWorkflow = isWorkflow;
17
- function isActivity() {
18
- return storage.getStore()?.layer === 'activity';
19
- }
20
- ExecutionContext.isActivity = isActivity;
21
- })(ExecutionContext || (ExecutionContext = {}));
22
- //# sourceMappingURL=ExecutionContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionContext.js","sourceRoot":"","sources":["../../src/models/ExecutionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAQpD,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAyB,CAAA;AAE9D,MAAM,KAAW,gBAAgB,CAgBhC;AAhBD,WAAiB,gBAAgB;IAC/B,SAAgB,GAAG,CAAI,KAAqB,EAAE,EAAW;QACvD,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC;IAFe,oBAAG,MAElB,CAAA;IAED,SAAgB,QAAQ;QACtB,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAA;IAClC,CAAC;IAFe,yBAAQ,WAEvB,CAAA;IAED,SAAgB,UAAU;QACxB,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,KAAK,UAAU,CAAA;IACjD,CAAC;IAFe,2BAAU,aAEzB,CAAA;IAED,SAAgB,UAAU;QACxB,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,KAAK,UAAU,CAAA;IACjD,CAAC;IAFe,2BAAU,aAEzB,CAAA;AACH,CAAC,EAhBgB,gBAAgB,KAAhB,gBAAgB,QAgBhC"}
@@ -1,25 +0,0 @@
1
- import type { AsyncActivityOutcome } from './types.js';
2
- import type { Activity } from '../models/Activity.js';
3
- import type { ClaimProvider } from '../models/Claim.js';
4
- import type { Env } from '../models/Env.js';
5
- import type { Log } from '../models/Logger.js';
6
- export interface ActivityTestingAsyncOptions {
7
- /** Run the real advance handler when bootstrap returns pending. */
8
- advance?: unknown;
9
- /** Simulate runtime resolution without calling advance. */
10
- outcome?: AsyncActivityOutcome;
11
- }
12
- export interface ActivityTestingOptions {
13
- claims?: readonly ClaimProvider<any>[];
14
- env?: Env.Entries;
15
- logs?: Log[];
16
- async?: ActivityTestingAsyncOptions;
17
- }
18
- export declare class ActivityTesting {
19
- static run<T extends Activity>(ActivityClass: Activity.Constructor<T>, args?: Activity.Args<T>, options?: ActivityTestingOptions): Promise<Activity.Output<T>>;
20
- }
21
- export declare class AsyncActivityRejectedError extends Error {
22
- readonly reason: unknown;
23
- constructor(reason: unknown);
24
- }
25
- //# sourceMappingURL=ActivityTesting.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActivityTesting.d.ts","sourceRoot":"","sources":["../../src/testing/ActivityTesting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAUrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAI9C,MAAM,WAAW,2BAA2B;IAC1C,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;IACtC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACZ,KAAK,CAAC,EAAE,2BAA2B,CAAA;CACpC;AAED,qBAAa,eAAe;WACN,GAAG,CAAC,CAAC,SAAS,QAAQ,EACxC,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EACtC,IAAI,GAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAqC,EAC1D,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CA6B/B;AAyFD,qBAAa,0BAA2B,SAAQ,KAAK;aACvB,MAAM,EAAE,OAAO;gBAAf,MAAM,EAAE,OAAO;CAQ5C"}
@@ -1,74 +0,0 @@
1
- import { AsyncActivity, } from '../models/AsyncActivity.js';
2
- import { AsyncActivityResultFulfilled, AsyncActivityResultPending, AsyncActivityResultRejected, } from '../models/AsyncActivityAdvanceResult.js';
3
- import { SyncActivity } from '../models/SyncActivity.js';
4
- import { Internals } from '../tools/Internals.js';
5
- export class ActivityTesting {
6
- static async run(ActivityClass, args = [], options = {}) {
7
- const activity = new ActivityClass();
8
- const context = {
9
- claims: options.claims ?? [],
10
- env: options.env ?? {},
11
- };
12
- const input = await activity.toInput(...args);
13
- if (activity instanceof SyncActivity) {
14
- const output = await Internals.runActivity(activity, context, instance => instance.run(input));
15
- return activity.toOutput(output, ...args);
16
- }
17
- if (activity instanceof AsyncActivity) {
18
- return resolveAsyncActivity(activity, input, args, context, options);
19
- }
20
- throw new Error(`Unknown activity type: ${ActivityClass.name}`);
21
- }
22
- }
23
- async function resolveAsyncActivity(activity, input, args, context, options) {
24
- const bootstrap = await Internals.runActivity(activity, context, instance => instance.bootstrap(input));
25
- if (bootstrap instanceof AsyncActivityResultFulfilled)
26
- return activity.toOutput(bootstrap.payload, ...args);
27
- if (bootstrap instanceof AsyncActivityResultRejected)
28
- throw new AsyncActivityRejectedError(bootstrap.payload);
29
- if (!(bootstrap instanceof AsyncActivityResultPending))
30
- throw new Error(`Unknown async bootstrap result for "${activity.constructor.name}"`);
31
- const asyncOptions = options.async;
32
- if (asyncOptions && 'advance' in asyncOptions) {
33
- const result = await Internals.runActivity(activity, context, instance => instance.advance(asyncOptions.advance, bootstrap));
34
- if (result instanceof AsyncActivityResultFulfilled)
35
- return activity.toOutput(result.payload, ...args);
36
- if (result instanceof AsyncActivityResultRejected)
37
- throw new AsyncActivityRejectedError(result.payload);
38
- throw new Error(`Async activity "${activity.constructor.name}" stayed pending after advance`);
39
- }
40
- if (asyncOptions?.outcome) {
41
- switch (asyncOptions.outcome.status) {
42
- case 'fulfilled':
43
- return activity.toOutput(asyncOptions.outcome.output, ...args);
44
- case 'rejected':
45
- throw new AsyncActivityRejectedError(asyncOptions.outcome.reason);
46
- case 'timeout': {
47
- const onTimeout = activity.onTimeout?.bind(activity);
48
- if (!onTimeout)
49
- throw new Error(`Async activity "${activity.constructor.name}" timed out but defines no onTimeout handler`);
50
- const result = await Internals.runActivity(activity, context, () => onTimeout(bootstrap));
51
- if (result instanceof AsyncActivityResultFulfilled)
52
- return activity.toOutput(result.payload, ...args);
53
- if (result instanceof AsyncActivityResultRejected)
54
- throw new AsyncActivityRejectedError(result.payload);
55
- throw new Error(`Async activity "${activity.constructor.name}" stayed pending after onTimeout`);
56
- }
57
- default:
58
- throw new Error(`Unknown async activity outcome for "${activity.constructor.name}"`);
59
- }
60
- }
61
- throw new Error(`Async activity "${activity.constructor.name}" is pending. ` +
62
- `Provide options.async.advance or options.async.outcome in ActivityTesting.run().`);
63
- }
64
- export class AsyncActivityRejectedError extends Error {
65
- reason;
66
- constructor(reason) {
67
- super(reason instanceof Error
68
- ? reason.message
69
- : `Async activity rejected: ${JSON.stringify(reason)}`);
70
- this.reason = reason;
71
- this.name = 'AsyncActivityRejectedError';
72
- }
73
- }
74
- //# sourceMappingURL=ActivityTesting.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActivityTesting.js","sourceRoot":"","sources":["../../src/testing/ActivityTesting.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare class NonDeterministicWorkflowError extends Error {
2
- constructor(message: string);
3
- }
4
- //# sourceMappingURL=NonDeterministicWorkflowError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NonDeterministicWorkflowError.d.ts","sourceRoot":"","sources":["../../src/testing/NonDeterministicWorkflowError.ts"],"names":[],"mappings":"AAAA,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,OAAO,EAAE,MAAM;CAI5B"}
@@ -1,7 +0,0 @@
1
- export class NonDeterministicWorkflowError extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = 'NonDeterministicWorkflowError';
5
- }
6
- }
7
- //# sourceMappingURL=NonDeterministicWorkflowError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NonDeterministicWorkflowError.js","sourceRoot":"","sources":["../../src/testing/NonDeterministicWorkflowError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAA;IAC7C,CAAC;CACF"}
@@ -1,4 +0,0 @@
1
- export declare class StrictGuard {
2
- static install(): () => void;
3
- }
4
- //# sourceMappingURL=StrictGuard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StrictGuard.d.ts","sourceRoot":"","sources":["../../src/testing/StrictGuard.ts"],"names":[],"mappings":"AAMA,qBAAa,WAAW;WACR,OAAO,IAAI,MAAM,IAAI;CA6BpC"}
@@ -1,26 +0,0 @@
1
- import { ExecutionContext } from '../models/ExecutionContext.js';
2
- import { NonDeterministicWorkflowError } from './NonDeterministicWorkflowError.js';
3
- const WORKFLOW_SIDE_EFFECT_MESSAGE = 'Side effects must go through History.reconciler and activities — not directly from workflow code.';
4
- export class StrictGuard {
5
- static install() {
6
- const originalRandom = Math.random;
7
- const originalFetch = globalThis.fetch;
8
- Math.random = () => {
9
- if (ExecutionContext.isWorkflow())
10
- throw new NonDeterministicWorkflowError(`Math.random() is not allowed in workflow code. ${WORKFLOW_SIDE_EFFECT_MESSAGE}`);
11
- return originalRandom.call(Math);
12
- };
13
- if (originalFetch)
14
- globalThis.fetch = ((...args) => {
15
- if (ExecutionContext.isWorkflow())
16
- throw new NonDeterministicWorkflowError(`fetch() is not allowed in workflow code. ${WORKFLOW_SIDE_EFFECT_MESSAGE}`);
17
- return originalFetch(...args);
18
- });
19
- return () => {
20
- Math.random = originalRandom;
21
- if (originalFetch)
22
- globalThis.fetch = originalFetch;
23
- };
24
- }
25
- }
26
- //# sourceMappingURL=StrictGuard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StrictGuard.js","sourceRoot":"","sources":["../../src/testing/StrictGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAElF,MAAM,4BAA4B,GAChC,mGAAmG,CAAA;AAErG,MAAM,OAAO,WAAW;IACf,MAAM,CAAC,OAAO;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAA;QAClC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAA;QAEtC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;YACjB,IAAI,gBAAgB,CAAC,UAAU,EAAE;gBAC/B,MAAM,IAAI,6BAA6B,CACrC,kDAAkD,4BAA4B,EAAE,CACjF,CAAA;YAEH,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAA;QAED,IAAI,aAAa;YACf,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAA8B,EAAE,EAAE;gBACxD,IAAI,gBAAgB,CAAC,UAAU,EAAE;oBAC/B,MAAM,IAAI,6BAA6B,CACrC,4CAA4C,4BAA4B,EAAE,CAC3E,CAAA;gBAEH,OAAO,aAAa,CAAC,GAAG,IAAI,CAAC,CAAA;YAC/B,CAAC,CAAiB,CAAA;QAEpB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,cAAc,CAAA;YAE5B,IAAI,aAAa;gBAAE,UAAU,CAAC,KAAK,GAAG,aAAa,CAAA;QACrD,CAAC,CAAA;IACH,CAAC;CACF"}