@twin.org/background-task-models 0.0.3-next.4 → 0.0.3-next.6

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # TWIN Background Task Models
2
2
 
3
- Models which define the structure of the background task contracts.
3
+ This package is part of the background task toolkit and helps build reliable asynchronous workflows in TWIN applications.
4
4
 
5
5
  ## Installation
6
6
 
package/docs/changelog.md CHANGED
@@ -1,185 +1,199 @@
1
- # @twin.org/background-task-models - Changelog
1
+ # Changelog
2
2
 
3
- ## [0.0.3-next.4](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.3-next.3...background-task-models-v0.0.3-next.4) (2026-02-23)
3
+ ## [0.0.3-next.6](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.3-next.5...background-task-models-v0.0.3-next.6) (2026-05-11)
4
+
5
+
6
+ ### Features
7
+
8
+ * typescript 6 update ([e3f2727](https://github.com/iotaledger/twin-background-task/commit/e3f272783e0de7cf4d31f3e84a8e6f5ff633961b))
9
+
10
+ ## [0.0.3-next.5](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.3-next.4...background-task-models-v0.0.3-next.5) (2026-04-10)
11
+
12
+
13
+ ### Miscellaneous Chores
14
+
15
+ * **background-task-models:** Synchronize repo versions
16
+
17
+ ## [0.0.3-next.4](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.3-next.3...background-task-models-v0.0.3-next.4) (2026-02-23)
4
18
 
5
19
 
6
20
  ### Miscellaneous Chores
7
21
 
8
22
  * **background-task-models:** Synchronize repo versions
9
23
 
10
- ## [0.0.3-next.3](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.3-next.2...background-task-models-v0.0.3-next.3) (2026-01-07)
24
+ ## [0.0.3-next.3](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.3-next.2...background-task-models-v0.0.3-next.3) (2026-01-07)
11
25
 
12
26
 
13
27
  ### Miscellaneous Chores
14
28
 
15
29
  * **background-task-models:** Synchronize repo versions
16
30
 
17
- ## [0.0.3-next.2](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.3-next.1...background-task-models-v0.0.3-next.2) (2025-11-28)
31
+ ## [0.0.3-next.2](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.3-next.1...background-task-models-v0.0.3-next.2) (2025-11-28)
18
32
 
19
33
 
20
34
  ### Features
21
35
 
22
- * add multi-threading ([#32](https://github.com/twinfoundation/background-task/issues/32)) ([60fb5ef](https://github.com/twinfoundation/background-task/commit/60fb5ef55d3f7dc46a27c38d4497812d80b98e3b))
36
+ * add multi-threading ([#32](https://github.com/iotaledger/twin-background-task/issues/32)) ([60fb5ef](https://github.com/iotaledger/twin-background-task/commit/60fb5ef55d3f7dc46a27c38d4497812d80b98e3b))
23
37
 
24
- ## [0.0.3-next.1](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.3-next.0...background-task-models-v0.0.3-next.1) (2025-11-11)
38
+ ## [0.0.3-next.1](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.3-next.0...background-task-models-v0.0.3-next.1) (2025-11-11)
25
39
 
26
40
 
27
41
  ### Features
28
42
 
29
- * add context id features ([#29](https://github.com/twinfoundation/background-task/issues/29)) ([46ede49](https://github.com/twinfoundation/background-task/commit/46ede49a51a4955fe1530e645a66f0073db9a1fd))
30
- * add task scheduler ([754d973](https://github.com/twinfoundation/background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
31
- * add validate-locales ([968cbf9](https://github.com/twinfoundation/background-task/commit/968cbf966fffb5060305e8b221fecc0b6c8105b9))
32
- * eslint migration to flat config ([6c9136c](https://github.com/twinfoundation/background-task/commit/6c9136c37bccdbbd109892d1503660aab7080d49))
33
- * improve comment ([f2b4ac2](https://github.com/twinfoundation/background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
34
- * only run tasks from your own thread ([c7d305b](https://github.com/twinfoundation/background-task/commit/c7d305b9807e65b8b1af6d0c2ca59e74190cab69))
35
- * update dependencies ([8e65767](https://github.com/twinfoundation/background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
36
- * update framework core ([a068098](https://github.com/twinfoundation/background-task/commit/a0680983d7923a1bfb980a67879019bb870ccc5d))
37
- * update IComponent signatures ([e1a79bc](https://github.com/twinfoundation/background-task/commit/e1a79bc4dd813435c56e376f231a4b4ecd2276bf))
38
- * use shared store mechanism ([#6](https://github.com/twinfoundation/background-task/issues/6)) ([27ed203](https://github.com/twinfoundation/background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
43
+ * add context id features ([#29](https://github.com/iotaledger/twin-background-task/issues/29)) ([46ede49](https://github.com/iotaledger/twin-background-task/commit/46ede49a51a4955fe1530e645a66f0073db9a1fd))
44
+ * add task scheduler ([754d973](https://github.com/iotaledger/twin-background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
45
+ * add validate-locales ([968cbf9](https://github.com/iotaledger/twin-background-task/commit/968cbf966fffb5060305e8b221fecc0b6c8105b9))
46
+ * eslint migration to flat config ([6c9136c](https://github.com/iotaledger/twin-background-task/commit/6c9136c37bccdbbd109892d1503660aab7080d49))
47
+ * improve comment ([f2b4ac2](https://github.com/iotaledger/twin-background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
48
+ * only run tasks from your own thread ([c7d305b](https://github.com/iotaledger/twin-background-task/commit/c7d305b9807e65b8b1af6d0c2ca59e74190cab69))
49
+ * update dependencies ([8e65767](https://github.com/iotaledger/twin-background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
50
+ * update framework core ([a068098](https://github.com/iotaledger/twin-background-task/commit/a0680983d7923a1bfb980a67879019bb870ccc5d))
51
+ * update IComponent signatures ([e1a79bc](https://github.com/iotaledger/twin-background-task/commit/e1a79bc4dd813435c56e376f231a4b4ecd2276bf))
52
+ * use shared store mechanism ([#6](https://github.com/iotaledger/twin-background-task/issues/6)) ([27ed203](https://github.com/iotaledger/twin-background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
39
53
 
40
- ## [0.0.2-next.9](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.8...background-task-models-v0.0.2-next.9) (2025-10-09)
54
+ ## [0.0.2-next.9](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.8...background-task-models-v0.0.2-next.9) (2025-10-09)
41
55
 
42
56
 
43
57
  ### Features
44
58
 
45
- * add validate-locales ([968cbf9](https://github.com/twinfoundation/background-task/commit/968cbf966fffb5060305e8b221fecc0b6c8105b9))
59
+ * add validate-locales ([968cbf9](https://github.com/iotaledger/twin-background-task/commit/968cbf966fffb5060305e8b221fecc0b6c8105b9))
46
60
 
47
- ## [0.0.2-next.8](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.7...background-task-models-v0.0.2-next.8) (2025-09-29)
61
+ ## [0.0.2-next.8](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.7...background-task-models-v0.0.2-next.8) (2025-09-29)
48
62
 
49
63
 
50
64
  ### Features
51
65
 
52
- * update IComponent signatures ([e1a79bc](https://github.com/twinfoundation/background-task/commit/e1a79bc4dd813435c56e376f231a4b4ecd2276bf))
66
+ * update IComponent signatures ([e1a79bc](https://github.com/iotaledger/twin-background-task/commit/e1a79bc4dd813435c56e376f231a4b4ecd2276bf))
53
67
 
54
- ## [0.0.2-next.7](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.6...background-task-models-v0.0.2-next.7) (2025-08-29)
68
+ ## [0.0.2-next.7](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.6...background-task-models-v0.0.2-next.7) (2025-08-29)
55
69
 
56
70
 
57
71
  ### Features
58
72
 
59
- * eslint migration to flat config ([6c9136c](https://github.com/twinfoundation/background-task/commit/6c9136c37bccdbbd109892d1503660aab7080d49))
73
+ * eslint migration to flat config ([6c9136c](https://github.com/iotaledger/twin-background-task/commit/6c9136c37bccdbbd109892d1503660aab7080d49))
60
74
 
61
- ## [0.0.2-next.6](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.5...background-task-models-v0.0.2-next.6) (2025-08-22)
75
+ ## [0.0.2-next.6](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.5...background-task-models-v0.0.2-next.6) (2025-08-22)
62
76
 
63
77
 
64
78
  ### Miscellaneous Chores
65
79
 
66
80
  * **background-task-models:** Synchronize repo versions
67
81
 
68
- ## [0.0.2-next.5](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.4...background-task-models-v0.0.2-next.5) (2025-08-20)
82
+ ## [0.0.2-next.5](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.4...background-task-models-v0.0.2-next.5) (2025-08-20)
69
83
 
70
84
 
71
85
  ### Features
72
86
 
73
- * update framework core ([a068098](https://github.com/twinfoundation/background-task/commit/a0680983d7923a1bfb980a67879019bb870ccc5d))
87
+ * update framework core ([a068098](https://github.com/iotaledger/twin-background-task/commit/a0680983d7923a1bfb980a67879019bb870ccc5d))
74
88
 
75
- ## [0.0.2-next.4](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.3...background-task-models-v0.0.2-next.4) (2025-07-23)
89
+ ## [0.0.2-next.4](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.3...background-task-models-v0.0.2-next.4) (2025-07-23)
76
90
 
77
91
 
78
92
  ### Miscellaneous Chores
79
93
 
80
94
  * **background-task-models:** Synchronize repo versions
81
95
 
82
- ## [0.0.2-next.3](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.2...background-task-models-v0.0.2-next.3) (2025-07-21)
96
+ ## [0.0.2-next.3](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.2...background-task-models-v0.0.2-next.3) (2025-07-21)
83
97
 
84
98
 
85
99
  ### Miscellaneous Chores
86
100
 
87
101
  * **background-task-models:** Synchronize repo versions
88
102
 
89
- ## [0.0.2-next.2](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.1...background-task-models-v0.0.2-next.2) (2025-07-09)
103
+ ## [0.0.2-next.2](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.1...background-task-models-v0.0.2-next.2) (2025-07-09)
90
104
 
91
105
 
92
106
  ### Features
93
107
 
94
- * add task scheduler ([754d973](https://github.com/twinfoundation/background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
95
- * improve comment ([f2b4ac2](https://github.com/twinfoundation/background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
96
- * only run tasks from your own thread ([c7d305b](https://github.com/twinfoundation/background-task/commit/c7d305b9807e65b8b1af6d0c2ca59e74190cab69))
97
- * update dependencies ([8e65767](https://github.com/twinfoundation/background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
98
- * use shared store mechanism ([#6](https://github.com/twinfoundation/background-task/issues/6)) ([27ed203](https://github.com/twinfoundation/background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
108
+ * add task scheduler ([754d973](https://github.com/iotaledger/twin-background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
109
+ * improve comment ([f2b4ac2](https://github.com/iotaledger/twin-background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
110
+ * only run tasks from your own thread ([c7d305b](https://github.com/iotaledger/twin-background-task/commit/c7d305b9807e65b8b1af6d0c2ca59e74190cab69))
111
+ * update dependencies ([8e65767](https://github.com/iotaledger/twin-background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
112
+ * use shared store mechanism ([#6](https://github.com/iotaledger/twin-background-task/issues/6)) ([27ed203](https://github.com/iotaledger/twin-background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
99
113
 
100
- ## [0.0.2-next.1](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.2-next.0...background-task-models-v0.0.2-next.1) (2025-07-09)
114
+ ## [0.0.2-next.1](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.2-next.0...background-task-models-v0.0.2-next.1) (2025-07-09)
101
115
 
102
116
 
103
117
  ### Features
104
118
 
105
- * add task scheduler ([754d973](https://github.com/twinfoundation/background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
106
- * improve comment ([f2b4ac2](https://github.com/twinfoundation/background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
107
- * only run tasks from your own thread ([c7d305b](https://github.com/twinfoundation/background-task/commit/c7d305b9807e65b8b1af6d0c2ca59e74190cab69))
108
- * update dependencies ([8e65767](https://github.com/twinfoundation/background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
109
- * use shared store mechanism ([#6](https://github.com/twinfoundation/background-task/issues/6)) ([27ed203](https://github.com/twinfoundation/background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
119
+ * add task scheduler ([754d973](https://github.com/iotaledger/twin-background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
120
+ * improve comment ([f2b4ac2](https://github.com/iotaledger/twin-background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
121
+ * only run tasks from your own thread ([c7d305b](https://github.com/iotaledger/twin-background-task/commit/c7d305b9807e65b8b1af6d0c2ca59e74190cab69))
122
+ * update dependencies ([8e65767](https://github.com/iotaledger/twin-background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
123
+ * use shared store mechanism ([#6](https://github.com/iotaledger/twin-background-task/issues/6)) ([27ed203](https://github.com/iotaledger/twin-background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
110
124
 
111
125
  ## 0.0.1 (2025-07-07)
112
126
 
113
127
 
114
128
  ### Features
115
129
 
116
- * release to production ([7ce9896](https://github.com/twinfoundation/background-task/commit/7ce989659e6819f05655c86b1bda2a265af5d281))
130
+ * release to production ([7ce9896](https://github.com/iotaledger/twin-background-task/commit/7ce989659e6819f05655c86b1bda2a265af5d281))
117
131
 
118
- ## [0.0.1-next.21](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.20...background-task-models-v0.0.1-next.21) (2025-06-23)
132
+ ## [0.0.1-next.21](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.20...background-task-models-v0.0.1-next.21) (2025-06-23)
119
133
 
120
134
 
121
135
  ### Miscellaneous Chores
122
136
 
123
137
  * **background-task-models:** Synchronize repo versions
124
138
 
125
- ## [0.0.1-next.20](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.19...background-task-models-v0.0.1-next.20) (2025-06-23)
139
+ ## [0.0.1-next.20](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.19...background-task-models-v0.0.1-next.20) (2025-06-23)
126
140
 
127
141
 
128
142
  ### Features
129
143
 
130
- * add task scheduler ([754d973](https://github.com/twinfoundation/background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
131
- * improve comment ([f2b4ac2](https://github.com/twinfoundation/background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
132
- * update dependencies ([8e65767](https://github.com/twinfoundation/background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
133
- * use shared store mechanism ([#6](https://github.com/twinfoundation/background-task/issues/6)) ([27ed203](https://github.com/twinfoundation/background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
144
+ * add task scheduler ([754d973](https://github.com/iotaledger/twin-background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
145
+ * improve comment ([f2b4ac2](https://github.com/iotaledger/twin-background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
146
+ * update dependencies ([8e65767](https://github.com/iotaledger/twin-background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
147
+ * use shared store mechanism ([#6](https://github.com/iotaledger/twin-background-task/issues/6)) ([27ed203](https://github.com/iotaledger/twin-background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
134
148
 
135
- ## [0.0.1-next.19](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.18...background-task-models-v0.0.1-next.19) (2025-06-23)
149
+ ## [0.0.1-next.19](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.18...background-task-models-v0.0.1-next.19) (2025-06-23)
136
150
 
137
151
 
138
152
  ### Features
139
153
 
140
- * add task scheduler ([754d973](https://github.com/twinfoundation/background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
154
+ * add task scheduler ([754d973](https://github.com/iotaledger/twin-background-task/commit/754d973e7c8483e5e54e887c157661867d5a0375))
141
155
 
142
- ## [0.0.1-next.18](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.17...background-task-models-v0.0.1-next.18) (2025-06-19)
156
+ ## [0.0.1-next.18](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.17...background-task-models-v0.0.1-next.18) (2025-06-19)
143
157
 
144
158
 
145
159
  ### Miscellaneous Chores
146
160
 
147
161
  * **background-task-models:** Synchronize repo versions
148
162
 
149
- ## [0.0.1-next.17](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.16...background-task-models-v0.0.1-next.17) (2025-06-12)
163
+ ## [0.0.1-next.17](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.16...background-task-models-v0.0.1-next.17) (2025-06-12)
150
164
 
151
165
 
152
166
  ### Features
153
167
 
154
- * update dependencies ([8e65767](https://github.com/twinfoundation/background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
168
+ * update dependencies ([8e65767](https://github.com/iotaledger/twin-background-task/commit/8e657679f5e4305dbcb15ac7bcb3ab8a4613a60b))
155
169
 
156
- ## [0.0.1-next.16](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.15...background-task-models-v0.0.1-next.16) (2025-06-05)
170
+ ## [0.0.1-next.16](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.15...background-task-models-v0.0.1-next.16) (2025-06-05)
157
171
 
158
172
 
159
173
  ### Miscellaneous Chores
160
174
 
161
175
  * **background-task-models:** Synchronize repo versions
162
176
 
163
- ## [0.0.1-next.15](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.14...background-task-models-v0.0.1-next.15) (2025-04-17)
177
+ ## [0.0.1-next.15](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.14...background-task-models-v0.0.1-next.15) (2025-04-17)
164
178
 
165
179
 
166
180
  ### Features
167
181
 
168
- * use shared store mechanism ([#6](https://github.com/twinfoundation/background-task/issues/6)) ([27ed203](https://github.com/twinfoundation/background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
182
+ * use shared store mechanism ([#6](https://github.com/iotaledger/twin-background-task/issues/6)) ([27ed203](https://github.com/iotaledger/twin-background-task/commit/27ed20367d5ace7257bfa7a82b59ad70e5b5d209))
169
183
 
170
- ## [0.0.1-next.14](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.13...background-task-models-v0.0.1-next.14) (2025-04-11)
184
+ ## [0.0.1-next.14](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.13...background-task-models-v0.0.1-next.14) (2025-04-11)
171
185
 
172
186
 
173
187
  ### Miscellaneous Chores
174
188
 
175
189
  * **background-task-models:** Synchronize repo versions
176
190
 
177
- ## [0.0.1-next.13](https://github.com/twinfoundation/background-task/compare/background-task-models-v0.0.1-next.12...background-task-models-v0.0.1-next.13) (2025-03-28)
191
+ ## [0.0.1-next.13](https://github.com/iotaledger/twin-background-task/compare/background-task-models-v0.0.1-next.12...background-task-models-v0.0.1-next.13) (2025-03-28)
178
192
 
179
193
 
180
194
  ### Features
181
195
 
182
- * improve comment ([f2b4ac2](https://github.com/twinfoundation/background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
196
+ * improve comment ([f2b4ac2](https://github.com/iotaledger/twin-background-task/commit/f2b4ac22fb8f735d2bf4ce28583cf7c54acdf272))
183
197
 
184
198
  ## v0.0.1-next.12
185
199
 
package/docs/examples.md CHANGED
@@ -1 +1,179 @@
1
- # @twin.org/background-task-models - Examples
1
+ # Background Task Models Examples
2
+
3
+ Use these snippets to model task payloads, status transitions and scheduler contracts in a strongly typed way.
4
+
5
+ ## IBackgroundTask
6
+
7
+ ```typescript
8
+ import type { IBackgroundTask } from '@twin.org/background-task-models';
9
+ import { TaskStatus } from '@twin.org/background-task-models';
10
+
11
+ type ImportPayload = {
12
+ source: string;
13
+ batchSize: number;
14
+ };
15
+
16
+ type ImportResult = {
17
+ inserted: number;
18
+ skipped: number;
19
+ };
20
+
21
+ const queuedTask: IBackgroundTask<ImportPayload, ImportResult> = {
22
+ id: '7f4b2c18a4f44f1f9ff7348e260ca4c2',
23
+ type: 'catalogue-import',
24
+ threadId: '0',
25
+ dateCreated: '2026-03-09T10:30:00.000Z',
26
+ dateModified: '2026-03-09T10:30:00.000Z',
27
+ status: TaskStatus.Pending,
28
+ payload: {
29
+ source: 'tenant-a',
30
+ batchSize: 250
31
+ },
32
+ retriesRemaining: 3,
33
+ retryInterval: 5000
34
+ };
35
+
36
+ console.log(queuedTask.status); // pending
37
+ ```
38
+
39
+ ```typescript
40
+ import type { IBackgroundTask } from '@twin.org/background-task-models';
41
+ import { TaskStatus } from '@twin.org/background-task-models';
42
+
43
+ type ImportResult = {
44
+ inserted: number;
45
+ skipped: number;
46
+ };
47
+
48
+ const completedTask: IBackgroundTask<unknown, ImportResult> = {
49
+ id: '7f4b2c18a4f44f1f9ff7348e260ca4c2',
50
+ type: 'catalogue-import',
51
+ threadId: '3',
52
+ dateCreated: '2026-03-09T10:30:00.000Z',
53
+ dateModified: '2026-03-09T10:31:22.000Z',
54
+ dateCompleted: '2026-03-09T10:31:22.000Z',
55
+ status: TaskStatus.Success,
56
+ result: {
57
+ inserted: 248,
58
+ skipped: 2
59
+ }
60
+ };
61
+
62
+ console.log(completedTask.result?.inserted); // 248
63
+ ```
64
+
65
+ ## IBackgroundTaskComponent
66
+
67
+ ```typescript
68
+ import type { IBackgroundTask, IBackgroundTaskComponent } from '@twin.org/background-task-models';
69
+ import { TaskStatus } from '@twin.org/background-task-models';
70
+
71
+ type ResizePayload = {
72
+ imageId: string;
73
+ width: number;
74
+ height: number;
75
+ };
76
+
77
+ type ResizeResult = {
78
+ imageId: string;
79
+ location: string;
80
+ };
81
+
82
+ export async function configureImageHandler(
83
+ taskComponent: IBackgroundTaskComponent
84
+ ): Promise<void> {
85
+ await taskComponent.registerHandler<ResizePayload, ResizeResult>(
86
+ 'image-resize',
87
+ './workers/imageWorker',
88
+ 'resize',
89
+ async (task: IBackgroundTask<ResizePayload, ResizeResult>) => {
90
+ if (task.status === TaskStatus.Success) {
91
+ console.log(task.result?.location); // s3://tenant-a/images/hero-1920x1080.webp
92
+ }
93
+ },
94
+ {
95
+ maxWorkerCount: 4,
96
+ idleShutdownTimeout: 60000,
97
+ initialiseMethod: 'initialise',
98
+ shutdownMethod: 'shutdown'
99
+ }
100
+ );
101
+
102
+ const taskId = await taskComponent.create<ResizePayload>(
103
+ 'image-resize',
104
+ {
105
+ imageId: 'hero',
106
+ width: 1920,
107
+ height: 1080
108
+ },
109
+ {
110
+ retryCount: 2,
111
+ retryInterval: 3000,
112
+ retainFor: 120000
113
+ }
114
+ );
115
+
116
+ const task = await taskComponent.get<ResizePayload, ResizeResult>(taskId);
117
+ console.log(task?.status); // pending
118
+ }
119
+ ```
120
+
121
+ ## ITaskSchedulerComponent
122
+
123
+ ```typescript
124
+ import type { ITaskSchedulerComponent } from '@twin.org/background-task-models';
125
+
126
+ export async function registerDailySync(
127
+ scheduler: ITaskSchedulerComponent,
128
+ syncTaskId: string
129
+ ): Promise<void> {
130
+ await scheduler.addTask(
131
+ syncTaskId,
132
+ [
133
+ {
134
+ nextTriggerTime: Date.now() + 15 * 60 * 1000,
135
+ intervalDays: 1
136
+ }
137
+ ],
138
+ async () => {
139
+ console.log('sync running at', new Date().toISOString()); // sync running at 2026-03-09T10:45:00.000Z
140
+ }
141
+ );
142
+
143
+ const info = await scheduler.tasksInfo();
144
+ console.log(info.tasks[syncTaskId].length); // 1
145
+ }
146
+ ```
147
+
148
+ ## IScheduledTaskInfo and IScheduledTaskTime
149
+
150
+ ```typescript
151
+ import type { IScheduledTaskInfo, IScheduledTaskTime } from '@twin.org/background-task-models';
152
+
153
+ const everyQuarterHour: IScheduledTaskTime = {
154
+ intervalMinutes: 15
155
+ };
156
+
157
+ const schedule: IScheduledTaskInfo = {
158
+ tasks: {
159
+ 'cleanup-cache': [everyQuarterHour]
160
+ }
161
+ };
162
+
163
+ console.log(schedule.tasks['cleanup-cache'][0].intervalMinutes); // 15
164
+ ```
165
+
166
+ ## TaskStatus
167
+
168
+ ```typescript
169
+ import type { TaskStatus } from '@twin.org/background-task-models';
170
+ import { TaskStatus as TaskStatuses } from '@twin.org/background-task-models';
171
+
172
+ const terminalStatuses: TaskStatus[] = [
173
+ TaskStatuses.Success,
174
+ TaskStatuses.Failed,
175
+ TaskStatuses.Cancelled
176
+ ];
177
+
178
+ console.log(terminalStatuses.join(', ')); // success, failed, cancelled
179
+ ```
@@ -14,7 +14,7 @@ Interface describing a background task.
14
14
 
15
15
  ## Properties
16
16
 
17
- ### id
17
+ ### id {#id}
18
18
 
19
19
  > **id**: `string`
20
20
 
@@ -22,7 +22,7 @@ The id.
22
22
 
23
23
  ***
24
24
 
25
- ### type
25
+ ### type {#type}
26
26
 
27
27
  > **type**: `string`
28
28
 
@@ -30,7 +30,7 @@ The type of the task.
30
30
 
31
31
  ***
32
32
 
33
- ### threadId
33
+ ### threadId {#threadid}
34
34
 
35
35
  > **threadId**: `string`
36
36
 
@@ -38,23 +38,23 @@ The thread id for the task.
38
38
 
39
39
  ***
40
40
 
41
- ### retryInterval?
41
+ ### retryInterval? {#retryinterval}
42
42
 
43
- > `optional` **retryInterval**: `number`
43
+ > `optional` **retryInterval?**: `number`
44
44
 
45
45
  The retry interval in milliseconds, undefined if default scheduling.
46
46
 
47
47
  ***
48
48
 
49
- ### retriesRemaining?
49
+ ### retriesRemaining? {#retriesremaining}
50
50
 
51
- > `optional` **retriesRemaining**: `number`
51
+ > `optional` **retriesRemaining?**: `number`
52
52
 
53
53
  The number of retries remaining, undefined if infinite retries.
54
54
 
55
55
  ***
56
56
 
57
- ### dateCreated
57
+ ### dateCreated {#datecreated}
58
58
 
59
59
  > **dateCreated**: `string`
60
60
 
@@ -62,7 +62,7 @@ The date the task was created.
62
62
 
63
63
  ***
64
64
 
65
- ### dateModified
65
+ ### dateModified {#datemodified}
66
66
 
67
67
  > **dateModified**: `string`
68
68
 
@@ -70,31 +70,31 @@ The date the task was last modified.
70
70
 
71
71
  ***
72
72
 
73
- ### dateCompleted?
73
+ ### dateCompleted? {#datecompleted}
74
74
 
75
- > `optional` **dateCompleted**: `string`
75
+ > `optional` **dateCompleted?**: `string`
76
76
 
77
77
  The date the task was complete.
78
78
 
79
79
  ***
80
80
 
81
- ### dateCancelled?
81
+ ### dateCancelled? {#datecancelled}
82
82
 
83
- > `optional` **dateCancelled**: `string`
83
+ > `optional` **dateCancelled?**: `string`
84
84
 
85
85
  The date the task was cancelled.
86
86
 
87
87
  ***
88
88
 
89
- ### dateRetainUntil?
89
+ ### dateRetainUntil? {#dateretainuntil}
90
90
 
91
- > `optional` **dateRetainUntil**: `string`
91
+ > `optional` **dateRetainUntil?**: `string`
92
92
 
93
93
  The date until when to retain.
94
94
 
95
95
  ***
96
96
 
97
- ### status
97
+ ### status {#status}
98
98
 
99
99
  > **status**: [`TaskStatus`](../type-aliases/TaskStatus.md)
100
100
 
@@ -102,24 +102,24 @@ The status of the task.
102
102
 
103
103
  ***
104
104
 
105
- ### payload?
105
+ ### payload? {#payload}
106
106
 
107
- > `optional` **payload**: `T`
107
+ > `optional` **payload?**: `T`
108
108
 
109
109
  The payload to execute the task with.
110
110
 
111
111
  ***
112
112
 
113
- ### result?
113
+ ### result? {#result}
114
114
 
115
- > `optional` **result**: `U`
115
+ > `optional` **result?**: `U`
116
116
 
117
117
  The result of the execution.
118
118
 
119
119
  ***
120
120
 
121
- ### error?
121
+ ### error? {#error}
122
122
 
123
- > `optional` **error**: `IError`
123
+ > `optional` **error?**: `IError`
124
124
 
125
125
  The error at last execution.
@@ -8,7 +8,7 @@ Interface describing a background task component.
8
8
 
9
9
  ## Methods
10
10
 
11
- ### registerHandler()
11
+ ### registerHandler() {#registerhandler}
12
12
 
13
13
  > **registerHandler**\<`T`, `U`\>(`taskType`, `module`, `method`, `stateChangeCallback?`, `options?`): `Promise`\<`void`\>
14
14
 
@@ -86,7 +86,7 @@ Nothing.
86
86
 
87
87
  ***
88
88
 
89
- ### unregisterHandler()
89
+ ### unregisterHandler() {#unregisterhandler}
90
90
 
91
91
  > **unregisterHandler**(`taskType`): `Promise`\<`void`\>
92
92
 
@@ -108,7 +108,7 @@ Nothing.
108
108
 
109
109
  ***
110
110
 
111
- ### create()
111
+ ### create() {#create}
112
112
 
113
113
  > **create**\<`T`\>(`taskType`, `payload?`, `options?`): `Promise`\<`string`\>
114
114
 
@@ -164,7 +164,7 @@ The id of the created task.
164
164
 
165
165
  ***
166
166
 
167
- ### get()
167
+ ### get() {#get}
168
168
 
169
169
  > **get**\<`T`, `U`\>(`taskId`): `Promise`\<[`IBackgroundTask`](IBackgroundTask.md)\<`T`, `U`\> \| `undefined`\>
170
170
 
@@ -196,7 +196,7 @@ The details of the task.
196
196
 
197
197
  ***
198
198
 
199
- ### retry()
199
+ ### retry() {#retry}
200
200
 
201
201
  > **retry**(`taskId`): `Promise`\<`void`\>
202
202
 
@@ -218,7 +218,7 @@ Nothing.
218
218
 
219
219
  ***
220
220
 
221
- ### remove()
221
+ ### remove() {#remove}
222
222
 
223
223
  > **remove**(`taskId`): `Promise`\<`void`\>
224
224
 
@@ -240,7 +240,7 @@ Nothing.
240
240
 
241
241
  ***
242
242
 
243
- ### cancel()
243
+ ### cancel() {#cancel}
244
244
 
245
245
  > **cancel**(`taskId`): `Promise`\<`void`\>
246
246
 
@@ -262,7 +262,7 @@ Nothing.
262
262
 
263
263
  ***
264
264
 
265
- ### query()
265
+ ### query() {#query}
266
266
 
267
267
  > **query**(`taskType?`, `taskStatus?`, `sortProperty?`, `sortDirection?`, `cursor?`, `limit?`): `Promise`\<\{ `entities`: [`IBackgroundTask`](IBackgroundTask.md)\<`any`, `any`\>[]; `cursor?`: `string`; \}\>
268
268
 
@@ -284,9 +284,9 @@ The status of the task to get.
284
284
 
285
285
  ##### sortProperty?
286
286
 
287
- The property to sort by, defaults to dateCreated.
287
+ `"dateCreated"` \| `"dateModified"` \| `"dateCompleted"` \| `"status"`
288
288
 
289
- `"dateCreated"` | `"dateModified"` | `"dateCompleted"` | `"status"`
289
+ The property to sort by, defaults to dateCreated.
290
290
 
291
291
  ##### sortDirection?
292
292
 
@@ -4,7 +4,7 @@ Interface describing a scheduled task information.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### tasks
7
+ ### tasks {#tasks}
8
8
 
9
9
  > **tasks**: `object`
10
10
 
@@ -4,32 +4,32 @@ Interface describing a scheduled task time.
4
4
 
5
5
  ## Properties
6
6
 
7
- ### nextTriggerTime?
7
+ ### nextTriggerTime? {#nexttriggertime}
8
8
 
9
- > `optional` **nextTriggerTime**: `number`
9
+ > `optional` **nextTriggerTime?**: `number`
10
10
 
11
11
  The date/time to start the task, if not provided defaults to first interval from now.
12
12
 
13
13
  ***
14
14
 
15
- ### intervalDays?
15
+ ### intervalDays? {#intervaldays}
16
16
 
17
- > `optional` **intervalDays**: `number`
17
+ > `optional` **intervalDays?**: `number`
18
18
 
19
19
  The interval in days to repeat the task, if no intervals are set the task will not repeat.
20
20
 
21
21
  ***
22
22
 
23
- ### intervalHours?
23
+ ### intervalHours? {#intervalhours}
24
24
 
25
- > `optional` **intervalHours**: `number`
25
+ > `optional` **intervalHours?**: `number`
26
26
 
27
27
  The interval in hours to repeat the task, if no intervals are set the task will not repeat.
28
28
 
29
29
  ***
30
30
 
31
- ### intervalMinutes?
31
+ ### intervalMinutes? {#intervalminutes}
32
32
 
33
- > `optional` **intervalMinutes**: `number`
33
+ > `optional` **intervalMinutes?**: `number`
34
34
 
35
35
  The interval in minutes to repeat the task, if no intervals are set the task will not repeat.
@@ -8,7 +8,7 @@ Interface describing a task scheduler.
8
8
 
9
9
  ## Methods
10
10
 
11
- ### addTask()
11
+ ### addTask() {#addtask}
12
12
 
13
13
  > **addTask**(`taskId`, `times`, `taskCallback`): `Promise`\<`void`\>
14
14
 
@@ -42,7 +42,7 @@ Nothing.
42
42
 
43
43
  ***
44
44
 
45
- ### removeTask()
45
+ ### removeTask() {#removetask}
46
46
 
47
47
  > **removeTask**(`taskId`): `Promise`\<`void`\>
48
48
 
@@ -64,7 +64,7 @@ Nothing.
64
64
 
65
65
  ***
66
66
 
67
- ### tasksInfo()
67
+ ### tasksInfo() {#tasksinfo}
68
68
 
69
69
  > **tasksInfo**(): `Promise`\<[`IScheduledTaskInfo`](IScheduledTaskInfo.md)\>
70
70
 
@@ -6,31 +6,31 @@ Task statuses.
6
6
 
7
7
  ## Type Declaration
8
8
 
9
- ### Pending
9
+ ### Pending {#pending}
10
10
 
11
11
  > `readonly` **Pending**: `"pending"` = `"pending"`
12
12
 
13
13
  Pending.
14
14
 
15
- ### Processing
15
+ ### Processing {#processing}
16
16
 
17
17
  > `readonly` **Processing**: `"processing"` = `"processing"`
18
18
 
19
19
  Processing.
20
20
 
21
- ### Success
21
+ ### Success {#success}
22
22
 
23
23
  > `readonly` **Success**: `"success"` = `"success"`
24
24
 
25
25
  Success.
26
26
 
27
- ### Failed
27
+ ### Failed {#failed}
28
28
 
29
29
  > `readonly` **Failed**: `"failed"` = `"failed"`
30
30
 
31
31
  Failed.
32
32
 
33
- ### Cancelled
33
+ ### Cancelled {#cancelled}
34
34
 
35
35
  > `readonly` **Cancelled**: `"cancelled"` = `"cancelled"`
36
36
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@twin.org/background-task-models",
3
- "version": "0.0.3-next.4",
4
- "description": "Models which define the structure of the background task contracts",
3
+ "version": "0.0.3-next.6",
4
+ "description": "Defines shared contracts and status models for background task workflows",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git+https://github.com/twinfoundation/background-task.git",
7
+ "url": "git+https://github.com/iotaledger/background-task.git",
8
8
  "directory": "packages/background-task-models"
9
9
  },
10
10
  "author": "martyn.janes@iota.org",
@@ -50,7 +50,7 @@
50
50
  "schemas"
51
51
  ],
52
52
  "bugs": {
53
- "url": "git+https://github.com/twinfoundation/background-task/issues"
53
+ "url": "git+https://github.com/iotaledger/background-task/issues"
54
54
  },
55
55
  "homepage": "https://twindev.org"
56
56
  }